Androidボタンのドローアブルとして定義されたドローアブルを作成したい。長方形を使用してすべての境界線を設定できることがわかったが、3つの側面でそれが必要なときにちょっと行き詰まった。たとえば、上部または下部のいずれかを開いてもらいたいです。
誰かがこれを行う方法を教えてもらえますか?
他の投稿で見ましたが、これを試してみてください
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<shape Android:shape="rectangle" >
<solid Android:color="#FFFFFF" />
<padding
//Android:bottom="10dp" Remove this to avoid seeing the bottom border
Android:left="10dp"
Android:right="10dp"
//Android:top="10dp" Remove this to avoid seeing the top border
/>
<corners Android:radius="5dp" />
</shape>
</item>
<item>
<shape Android:shape="rectangle" >
<padding
Android:bottom="5dp"
Android:left="5dp"
Android:right="5dp"
Android:top="5dp" />
<solid Android:color="#666666" />
</shape>
</item>
</layer-list>
受け入れられた回答で有効になるパディングに関する問題が発生した場合は、 https://stackoverflow.com/a/11006931 をご覧ください。このソリューションでは、タグの位置属性を使用して同じ効果を実現します。
ActionBarで使用するためのドローアブルを作成しているときに、ここで受け入れられた回答を使用するのに問題があり、リンクされたアプローチがうまくいきました。
これはあなたを助けるかもしれません。
IXMLの3つの側面の境界
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item Android:left="0dp" Android:right="0dp"
Android:top="0dp" Android:bottom="-5dp">
<shape
Android:shape="rectangle">
<solid Android:color="#ffffff" />
<corners Android:radius="0dp" />
<stroke Android:width="3dp" Android:color="#000000" />
</shape>
</item>