2016-06-24 9 views
0

cardViewとPreferenceで設定メニューを作成しようとしていますが、これらの2つを組み合わせる方法がわかりません。スクリーンショットがあり、ListPreferenceとPreferenceScreenのエントリを上記のcardViewを設定します。 はここpreference.xmlレイアウト/ setting_groupがcardview優先度とCardViewを組み合わせる方法

<PreferenceScreen 
    android:layout="@layout/setting_title_top" 
    android:title = "Padding" /> 
<PreferenceScreen 
    android:layout="@layout/setting_group"> 
</PreferenceScreen> 
<ListPreference 
    android:id="@+id/list" 
    android:layout="@layout/setting_menu" 
    android:dialogTitle = "title one" 
    android:key = "key_1" 
    android:title = "ListPreference" 
    android:summary = "Summary" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
</ListPreference> 

<PreferenceScreen 
    android:layout="@layout/setting_menu" 
    android:key="Key two" 
    android:summary="Summary" 
    android:title="PreferenceScreen" /> 
<PreferenceScreen 
    android:layout="@layout/setting_title" 
    android:title = "Another Setting" /> 

enter image description here

答えて

1

ありますPreferenceScreenはあなたが開いて、内部に注目して彼を閉じている、コンテナです。

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 




    <EditTextPreference 
    android:capitalize="words" 
    android:defaultValue="@string/default_value" <!--The initial state of the preference --> 
    android:key="@string/pref_key" <!-- The key for retrieve the preference --> 
    android:singleLine="true" 
    android:title="@string/pref_title" /> <!-- The title who is showing above the preference --> 


</PreferenceScreen> 

編集を::

あなたがそのような環境設定を作成することができ、あなたの好みのレイアウトにするには、XMLファイルを作成し、作成し、活動、例:

public class SettingsActivity extends PreferenceActivity 
    implements Preference.OnPreferenceChangeListener { 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.pref_general); 
    bindPreferenceSummaryToValue(findPreference(getString(R.string.pref_key))); // Is deprecated, but still a good option to no need change the values manually. 


} 

private void bindPreferenceSummaryToValue(Preference preference) { 
    preference.setOnPreferenceChangeListener(this); 

    onPreferenceChange(preference, PreferenceManager 
      .getDefaultSharedPreferences(preference.getContext()) 
      .getString(preference.getKey(), "")); 

} 


@Override 
public boolean onPreferenceChange(Preference preference, Object value) { 
    String stringValue = value.toString(); 
    preference.setSummary(stringValue); 



    return true; 
} 
} 
+0

こんにちはルーカス、私がしようとしましたListPreferenceコードを "@ layout/setting_group"のpreferenceScreenに貼り付けますが、何も表示されません。あなたはどのようにカードビューにプリファレンスを挿入しますか? – Deidara

+0

カードビューが必要な理由環境設定画面では、Googleマテリアルデザインのガイドラインを使用して、PreferenceScreenを作成し、必要なフィールドをその内部に配置します。別のコンテナは必要ありません。 –

+0

私はアンドロイドのオリジナルメニューのような設定メニューを作っています... UIを見栄え良くするためにコンポーネントをカスタマイズする必要があります – Deidara

関連する問題