状態リストのドローアブルと独自のグラフィック (ゲーム用) を含むチェックボックスがあります。組み込みのチェックボックスのグラフィックは明らかに 72x72 で、私のグラフィックは高さが 72 ですが、幅は 27 しかありません。
私の main.xml レイアウトのスニペット:
<CheckBox android:id="@+id/r_diff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/reset"
android:layout_alignParentBottom="true"
android:onClick="onClickRDiff"
android:button="@drawable/console_select_switch" />
そして、これが私の console_select_switch.xml です:
<?xml version="1.0" encoding="utf-8"?>
<selector android:constantSize="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/consw_cntr" /> <!-- pressed -->
<item android:state_checked="true"
android:drawable="@drawable/consw_down" /> <!-- checked -->
<item android:drawable="@drawable/consw_up" /> <!-- default -->
</selector>
今、プログラムを実行すると、グラフィックが表示され、機能しますが、元の正方形の 72 ピクセル グラフィックと同じ幅を占有します。私も設定しようとしました
android:width="27px"
セレクターアイテムステートメントでも、効果はありません。constantSize を「false」に変更しようとしましたが、効果はありませんでした。
私が何を間違っているのかわからない-私の理解では、wrap_contentはそれを「必要なだけ広く」する必要があるので、それはうまくいくと思いました。興味深いことに、通常のボタンで android:background と同じグラフィックを使用すると、正常に動作します。
編集:私のプロジェクトのAPIレベルは7(Android 2.1)に設定されています。関連性がある場合(ドキュメントを見ると、私が使用しているものはすべて長い間使用されていると思います。 )。
編集: このコントロールにテキストを設定して遊んだところです (android:text パラメーターの空の文字列を含むさまざまな値を試しました)。テキストは、チェックボックスが消費している領域の右側に描画されています (実際に占有されている領域ではありません)。グラフィックによる)。明らかに、このチェックボックスの幅が実際には 27 ピクセルであるのに、72 ピクセルであると考える人がいます。