1. ホーム
  2. android

[解決済み] XMLレイアウトでパディングが<shape>に影響を与えないこと

2022-11-03 06:12:03

質問

にパディングを設定しようとしています。 <shape> でパディングを設定しようとしています。しかし、私が何を設定しても、パディングに関連するものは何も変わりません。他のプロパティを変更すると、UIに効果が現れます。しかし、paddingに関してはうまくいきません。このようなことが起こる可能性のある理由について、アドバイスをお願いします。

私がスタイルを設定しようとしている XML Shape は次のとおりです。

 <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle">

    <stroke android:width="1dp" 
            android:color="#ffffff" 
            android:dashWidth="2dp"/>

    <solid android:color="@color/button_white_cover"/>

    <corners android:radius="11dp"/>

    <padding android:left="1dp" 
             android:top="20dp"
             android:right="20dp" 
             android:bottom="2dp"/>
 </shape>

どのように解決するのですか?

paddingの問題がやっと解決しました。

つまり、ここでのpaddingはshapeに何の影響も及ぼさないということです。その代わり、それを使用する他のdrawableでpaddingを適用する必要があります。そこで、shapeを使用するdrawableを用意し、そこで以下のようにしています。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/shape_below"/>
   <item android:top="10px" android:right="10px" android:drawable="@drawable/shape_cover"/>
</layer-list>

で、2番目の <item> -要素で、パディング(上と右)を設定しました。そして、この後、すべてが動作します。

ありがとうございます。