CheckBoxクラスはCompoundButtonを拡張しますが、何も追加しません。しかし、それはそれぞれの外観を得る方法。 Androidのソースでいくつかの宣言が見つかりましたが、CheckBoxクラスにどのようにマッピングされているのだろうか?CheckBoxはどのようにそれぞれのドロウアブルを取得しますか?
public class CheckBox extends CompoundButton {
public CheckBox(Context context) {
this(context, null);
}
public CheckBox(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.checkboxStyle);
}
public CheckBox(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
スタイル
<style name="Theme">
<item name="checkboxStyle">@android:style/Widget.CompoundButton.CheckBox</item>
</style>
<style name="Widget.CompoundButton.CheckBox">
<item name="android:background">@android:drawable/btn_check_label_background</item>
<item name="android:button">@android:drawable/btn_check</item>
</style>
EDIT:
は、おそらく私が描画可能にWidget.CompoundButton.CheckBoxスタイルに割り当てられているかを理解...明確ではありませんでしたが、どのようにこのスタイルが割り当てられていますCheckBoxクラスに?私はスタイル名に ".CheckBox"が表示されますが、この命名規則は本当にトリックを作りますか?もしそうなら、ルールは何ですか?私がCompoundButtonからMyCheckBoxを派生させたら、Widget.CompoundButton.MyCheckBoxスタイルを定義すればいいのですか?
ああ..確かに、私はcheckboxStyleを見落としました。 TY! – alex2k8