【Androidアプリケーションの設定画面を作ろう】TwoStatePreferenceを使う
TwoStatePreferenceは二つの状態を持つ設定項目を表すためのクラスの基底となる抽象クラスです。
この抽象クラスを継承することで自作の設定項目を作成することができます。
TwoStatePreferenceを継承して使う
TwoStatePreferenceを継承することで、プリファレンスとの連携機能を残しつつ色々な設定項目を作ることができます。今回はプリファレンスの値に合わせてアイコンが変化する設定項目を作りました。
public class MyTwoStatePreference extends TwoStatePreference {
public MyTwoStatePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyTwoStatePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTwoStatePreference(Context context) {
super(context);
}
@Override
public void setChecked(boolean checked) {
super.setChecked(checked);
if(isChecked()) {
setIcon(R.mipmap.ic_launcher);
} else {
setIcon(R.mipmap.ic_launcher_round);
}
}
}