Как создать меню настроек с флажком 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>