首选屏幕xml

时间:2010-04-26 18:16:58

标签: android

我有一个主视图,向用户显示他/她可以为应用程序修改的设置。它的xml是这样的:

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

    <PreferenceScreen  android:key="general_sett" android:title="general settings" />
     ....

    <PreferenceScreen  android:key="extras_sett" android:title="extras settings" />

</PreferenceScreen> 

当用户点击preferenceScreen时,将打开包含所需首选项的辅助屏幕。我想要的是能够在每个这些preferenceScreens的左侧显示一个图标,如下所示:

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

  <LinearLayout  android:orientation="horizontal"  android:layout_width="fill_parent"... >

        <ImageView id="@+id/picview" ... />

        <PreferenceScreen  android:key="general_sett" android:title="general settings" />

  </LinearLayout>
    ......

</PreferenceScreen> 

不幸的是Android不允许这种做法,所以如果您对此问题有任何其他想法或解决方案,请通知我。

2 个答案:

答案 0 :(得分:0)

查看Preference Javadoc中的android:widgetLayout属性。

答案 1 :(得分:0)

AFAIK无法在PreferenceScreen上轻松完成,但Preference

真的很容易

的xml:

    <Preference
        android:icon="@drawable/icon"
        android:key="key"
        android:summary="@string/text"
        android:title="@string/title" />

PreferenceActivity

    Preference other = (Preference) findPreference("key");
    other.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {
             // start a new PreferenceActivity
             Intent i = new Intent(getBaseContext(), second_pref_screen.class); 
             startActivity(i);
             return true;
         }
    });