android color Как добавить отступы к растровому изображению и цвет в списке слоев



layer-list textview (4)

Мне нужно создать отрисовку со списком слоев, чтобы фоновый слой был изображением, а передний план - прозрачным цветом. Я могу это сделать. Там, где у меня ничего не получается, я добавляю отступы / поля, чтобы внизу отображался фрагмент изображения без цветного слоя поверх него. Вот мой xml. Спасибо за помощь.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <bitmap android:src="@drawable/img1" 
        />
  </item>

  <item>
    <shape
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle" >
      <solid android:color="@color/color1" />
      <padding android:bottom="20dp" />
    </shape>
  </item>

</layer-list>

Так как эта конфигурация не работает, я предполагаю поместить отступ в первый слой. Но я не уверен, как это сделать с помощью растрового изображения


<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="oval">
            <solid android:color="#FFE3F5F2"/>
        </shape>
    </item>

    <item
        android:bottom="7dp"
        android:left="7dp"
        android:right="7dp"
        android:top="7dp">
        <bitmap
            android:src="@drawable/ic_link">
        </bitmap>

    </item>


</layer-list>

Переместите нижний отступ от shape к родительскому item :

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
  <item>
    <bitmap android:src="@drawable/img1" />
  </item>
  <item android:bottom="20dp">
    <shape android:shape="rectangle" >
      <solid android:color="@color/color1" />
    </shape>
  </item>
</layer-list>

См. http://idunnolol.com/android/drawables.html#layer-list для получения дополнительной информации.


Если вы добавляете рисование к тому же элементу в списке слоев, вы можете применять такие свойства, как android:top , android:bottom , android:left или android:right для обработки заполнения.

Я исправил свою проблему с отсутствием выравнивания рисования с TextView, просто используя свойства android:width и android:height .

Например

<item
    android:width="26dp" android:height="26dp"
    android:drawable="@drawable/ic_person">
    <shape android:shape="rectangle" >
        <solid android:color="@android:color/transparent" />
    </shape>
</item>


Оберните растровое изображение внутри рисованной вставки и установите там свой отступ





layer-list