web-dev-qa-db-ja.com

レイヤーリストのビットマップと色にパディングを追加するにはどうすればよいですか

背景レイヤーが画像で、前景が透明色になるように、layer-listでドローアブルを作成する必要があります。私はそれを行うことができます。私が成功していないのは、いくつかのパディング/マージンを追加して、それらの下部に画像の一部がその上に色付きのレイヤーなしで表示されるようにすることです。これが私の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>

この構成は機能していないため、パディングを最初のレイヤーに配置するのが私の推測です。しかし、ビットマップでそれを行う方法はわかりません

26
learner

下のパディングを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 をご覧ください。

55
chiuki

インセットドローアブル内にビットマップをラップし、そこにパディングを設定します

6
dangVarmit
<?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>
4
Farshid roohi

ドローアブルをレイヤーリストの同じアイテムに追加する場合、Android:topAndroid:bottomAndroid:leftAndroid:rightなどのプロパティを適用して、パディングを処理できます。

Android:widthプロパティとAndroid:heightプロパティを使用するだけで、ドローアブルがTextViewと一致しないという問題を修正しました。

例えば。

<item
    Android:width="26dp" Android:height="26dp"
    Android:drawable="@drawable/ic_person">
    <shape Android:shape="rectangle" >
        <solid Android:color="@Android:color/transparent" />
    </shape>
</item>
3
Arjun Shankar