2

カスタム レイアウト リスト設定 (背景とレイアウトのトップ パネル、パネル ボタン) の作成について読むことができる場所を教えてください。適合 - カスタム行のみの例。申し訳ありません-Google翻訳。

4

3 に答える 3

4

のカスタム レイアウトを作成することはできませんListPreference。ただし、独自のカスタムDialogPreferenceを作成して、希望どおりに見えるように設定することはできます。

たとえば、次の は、DialogPreferenceを使用しTimePickerてユーザーが時間を選択できるようにしますこれはDialogPreference、ユーザーが色を選択できるようにする です

于 2012-02-09T21:36:49.410 に答える
3

あなたのpreference.xmlファイルでは、クラスの完全な名前、つまりcom.example.MyPreferenceでカスタムListPreferenceを参照できます

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="pref_wifi_key"
    android:title="@string/settings">
    <ListPreference
        android:key="pref_wifi_remove"
        android:title="@string/remove_wifi"/>
    <com.example.MyPreference
    android:title="@string/add_wifi"/>
</PreferenceScreen>

次に、クラスMyPreferenceは次のようになります。

import android.preference.ListPreference;

public class MyPreference extends ListPreference  {

    Context context;

    public MyPreference(Context context, AttributeSet attrs) {
        this.context = context;
        setDialogLayoutResource(R.layout.yourLayout); //inherited from DialogPreference
        setEntries(new CharSequence[] {"one", "two"});
        setEntryValues(new CharSequence[] {"item1", "item2"});
    }
    protected void onDialogClosed(boolean positiveResult) {
    Toast.makeText(context, "item_selected",
                       Toast.LENGTH_SHORT).show();
    }
}
于 2012-12-25T18:35:11.650 に答える