Android ボタンにいくつかのプロパティを持たせたい:
- Android HoloLight スタイルを持っている
- ImageButton として動作 - テキストではなく画像をコンテンツとして持つ
- ToggleButton として動作 - オン/オフ状態を切り替えます
したがって、私のコードは現在次のようになっています。
私のxmlファイル:
<ImageButton
android:id="@+id/button"
style="@android:style/Widget.Holo.Light.Button.Toggle"
android:layout_width="70px"
android:layout_height="70px"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="5dp"
android:src="@drawable/icon" />
私のJavaファイル:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_file);
Button button = (ImageButton) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.v(log, "button pressed");
if (skillsButton.isSelected()) {
Log.v(log, "button is unselected");
button.setSelected(false);
} else {
Log.v(log, "button is selected");
button.setSelected(true);
}
}
});
}
コードを実行してボタンをクリックすると、ボタンの説明として画像が表示され、Android の HoloLight ToggleButton のように見えますが、ボタンを押してもオンとオフが切り替わりません (青いライトは点灯しません)。の上)。
ボタンの isSelected() ステータスが LogCat で変化していることがわかります。
私が欲しいものに対する解決策はありますか?
また、私が試した限りでは、Android HoloLight をテーマにしたボタンの「色」は明るい灰色に固定されています。この色を別の色、できれば白に変更する方法はありますか?