プリミティブ シェイプを再利用し、これらの宣言型 XML 要素を使用してユーザー インターフェイスの多くを構成しようとしています。
可変Android属性を作成するには?
しかし、属性値とその順列ごとに個別の XML ファイルを作成し、その過程で多くの作業を重複させたくはありません。
たとえば、この形状の消費者が android:radius 値を定義できるようにしたいと思いますか?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#449def"
android:endColor="#2f6699"
android:angle="270"/>
<stroke
android:width="1dp"
android:color="#2f6699"/>
<corners
android:radius="3dp"/>
</shape>
XML の親を使用して属性を設定しますか?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/shape_box_round_blue_uniform" />
<!-- How to set the corner radius here? -->
<item android:drawable="@drawable/shape_box_round_blue" />
</selector>
ソリューション?
- 可能であれば、Java コード ビハインドを使用したくない / カスタム コントロール / クラスを作成する必要を避けたい
- ディメンション リソースを使用することは、実り多い手段になる可能性がありますか?