セグメント化されたコントロールとして使用されているいくつかのImageButtonがあり、それぞれに背景が設定されています。前景の画像は、3つのうちのどれが現在選択されているかを示すチェックマークになります。他の2つのボタンには、前景画像がないはずです。画像はXMLで定義されています(以下を参照)。
<ImageButton
android:id="@+id/style_light_button"
android:layout_width="@dimen/style_color_segment_width"
android:layout_height="@dimen/style_button_segment_height"
android:background="@drawable/button_segmented_light"
android:src="@drawable/icons_checkmark_dark" />
<ImageButton
android:id="@+id/style_sepia_button"
android:layout_width="@dimen/style_color_segment_width"
android:layout_height="@dimen/style_button_segment_height"
android:background="@drawable/button_segmented_sepia"
android:src="@drawable/icons_checkmark_dark" />
<ImageButton
android:id="@+id/style_dark_button"
android:layout_width="@dimen/style_color_segment_width"
android:layout_height="@dimen/style_button_segment_height"
android:background="@drawable/button_segmented_dark"
android:src="@drawable/icons_checkmark_light" />
コードでは、1つがクリックされたときに、クリックされなかった2つのチェックマークをクリアし、クリックされたものに追加されていることを確認します。
ImageButton lightModeButton = (ImageButton)findViewById(R.id.style_light_button);
ImageButton sepiaModeButton = (ImageButton)findViewById(R.id.style_sepia_button);
ImageButton darkModeButton = (ImageButton)findViewById(R.id.style_dark_button);
setImageBitmap(null)
との両方を試しましたsetImageDrawable(null)
が、両方ともクラッシュします。
lightModeButton.setImageBitmap(null);
sepiaModeButton.setImageDrawable(null);
darkModeButton.setImageResource(R.drawable.icons_checkmark_light);
画像をクリアするにはどうすればよいですか、または背景画像を表示したまま前景画像を非表示にするにはどうすればよいですか?