1

それほどトリッキーではなかったカスタムチェックボックスが必要です。チェックボックス_セレクターを描画可能なフォルダーに作成しました。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/checkbox_disabled" /><!-- disabled -->
    <item android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/checkbox_unchecked_focused" /><!-- pressing unchecked box -->
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/checkbox_checked_focused" /><!-- pressing checked box -->
    <item android:state_checked="true" android:drawable="@drawable/checkbox_checked" /><!-- checked box -->
    <item android:state_checked="false" android:drawable="@drawable/checkbox_unchecked" /><!-- unchecked box -->

</selector>

しかし、問題は、私が作成するすべてのチェックボタンを追加する必要があるということです

<Checkbox
   android:button="@drawable/checkbox_selector" />

しばらくの間グーグルで答えようとすると、たぶん私は正しい単語を見つけることができません。

このアプリケーションのすべてのチェックボックスでこの@drawable/ checkbox_selectorを使用する必要があるとどこかで言うことができますか?

編集: styles.xmlで言う

<style name="customCheckBox">
   <item android:button>@drawable/checkbox_selector</item>
</style>

Android 2.3.3で動作しましたが、Android4.0.3で試したところ動作しません。それはなぜですか?

4

2 に答える 2

1

この目的でスタイルを使用できます。style.xmlに次のように設定するだけです。

 <style name="CustomCheckBox" >
    <item name="android:button">"@drawable/checkbox_selector</item>
 </style>

次に、テーマをすべてのチェックボックスに適用して、次のようにします。

 <Checkbox style="@style/CustomCheckBox" />

スタイルの詳細については、以下をお読みください。

http://developer.android.com/guide/topics/ui/themes.html

于 2012-07-02T10:46:09.010 に答える
1

すべてのコントロールのマニフェストでそれらを定義できます(テーマにはあなたのスタイルが含まれています)

android:theme="@style/CustomCheckBox"
于 2012-07-02T11:24:34.493 に答える