Как создать меню настроек с помощью флажка Android
Я хочу создать экран предпочтений, в котором есть три флажка; первый-кликабельный, а два других-нет, пока не будет установлен первый.
Как я могу это сделать? Я видел Этот учебник, но есть только один флажок. Кто-нибудь может мне помочь?
2 ответа:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <PreferenceCategory android:summary="@string/summary_category" android:title="@string/title_category"> <CheckBoxPreference android:key="main" android:defaultValue="true" android:summary="@string/summary_main" android:title="@string/title_main" /> <CheckBoxPreference android:key="firstDependent" android:summary="@string/summary_firstDependent" android:title="@string/title_firstDependent" android:dependancy="main" /> <CheckBoxPreference android:key="secondDependent" android:summary="@string/summary_secondDependent" android:title="@string/title_secondDependent" android:dependancy="main" /> </PreferenceCategory> <!--Any other categories include here--> </PreferenceScreen>
Это можно сделать, просто установив
android:dependancy
на ключ флажка, от которого должны зависеть соответствующие флажки.Теперь создайте папку с именем xml в папке res и поместите в нее свой XML-файл настроек. Затем сделайте следующее.
public class SettingsActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } }
Вы также можете сделать это с фрагментами, которые более рекомендуются. Но вышеприведенный метод гораздо проще. Если вы хотите сделать это с фрагментами, проверьте Этот , который содержит все, что вам нужно знать о создание действия настройки.
Надеюсь, это поможет.
Вы должны сделать это, как в этом примере, но у вас будет три
checkboxes
вместо одного. Если вы хотите, чтобы дваcheckboxes
были отключены до тех пор, пока первый не станет истинным, вы можете использовать свойствоandroid:dependency
. С помощью этого свойства вам нужно указать ключ предпочтения, от которого они будут зависеть.<PreferenceCategory android:summary="..." android:title="..." > <CheckBoxPreference android:defaultValue="true" android:key="first" android:summary="@string/summary_first" android:title="@string/title_first" /> <CheckBoxPreference android:defaultValue="false" android:dependency="first" android:key="second" android:summary="@string/summary_second" android:title="@string/title_second" /> <CheckBoxPreference android:defaultValue="false" android:dependency="first" android:key="third" android:summary="@string/summary_third" android:title="@string/title_third" /> </PreferenceCategory>