https://stackoverflow.com/a/5052401/305532を読んで理解しましたが、一般的にスタイルを設定して個々のウィジェット スタイルをオーバーライドするのではなく、サブウィジェットの一部であるスタイルを作成する必要があります。
たとえば、標準とRelativeLayout
標準で構成される化合物があります。this をスタイルするためにオーバーライドできますが、本当に欲しいのはEditText
Button
android:buttonStyle
Button
<my.custom.Widget
...
pkg:buttonStyle="@style/CustomStyle" />
はCustomStyle
から派生する可能性がありますが、 のandroid:style/Widget.Button
インスタンスごとに変更可能my.custom.Widget
ですpkg:buttonStyle
。
私が知っている唯一の代替手段は、すべてのスタイル可能な属性を個別に my に追加しattrs.xml
(2つ以上のサブウィジェットが同じ属性を必要とするが、値が異なる場合に通常の競合が発生します)、これらすべての属性を手動でコピー/設定することですmy.custom.Widget
' s コンストラクター / init メソッド。
これを達成する方法はありますか?