Экран настроек xml - PullRequest
       10

Экран настроек xml

1 голос
/ 26 апреля 2010

У меня есть основной вид, который представляет пользователю настройки, которые он / она может изменить для приложения. Это 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  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 голосов
/ 14 августа 2012

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;
         }
    });  
0 голосов
/ 26 апреля 2010

Посмотрите на свойство android:widgetLayout в Preference Javadoc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...