PreferenceFragment を使って設定画面を作り、
DialogPreferenceをカスタムしたビューを表示した時の話
環境は Android Studio 1.1.0
ActionBarActivity を利用 (なんでもいい)
設定メニュー
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory > <info.nukoneko.test20150428.CustomDialogPreference android:title="カスタムビュー" /> </PreferenceCategory> </PreferenceScreen>
カスタムビュー
public class CustomDialogPreference extends DialogPreference { public CustomDialogPreference(Context context, AttributeSet attrs) { super(context, attrs); } public CustomDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected View onCreateDialogView(){ LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); return inflater.inflate(R.layout.custom_dialog, null); } }
setDialogTitle(null); setNegativeButtonText(null); setPositiveButtonText(null);
を追加
public CustomDialogPreference(Context context, AttributeSet attrs) { super(context, attrs); setDialogTitle(null); setNegativeButtonText(null); setPositiveButtonText(null); } public CustomDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setDialogTitle(null); setNegativeButtonText(null); setPositiveButtonText(null); }
消えました。
② XML
Java は最初の CustomDialogPreference を利用
設定メニューのXMLを
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory > <info.nukoneko.test20150428.CustomDialogPreference android:title="カスタムビュー" android:dialogTitle="" android:negativeButtonText="@null" android:positiveButtonText="@null"/> </PreferenceCategory> </PreferenceScreen>
こうする。
ではでは