Счетчик настроек Android

#android #spinner #android-preferences

#Android #счетчик #android-настройки

Вопрос:

Как я могу создать что-то подобное? Я хочу открыть диалоговое окно в активности настроек, где пользователь может изменить номер с помощью счетчика, когда он нажимает на соответствующий элемент предпочтений.

Скриншоты из настроек приложения для обмена сообщениями Android. Выбор элемента, определенного предпочтением, открывает интерфейс для изменения настройки.

Я получил скриншот из инструментов разработчика Android, но я не могу найти какой-либо пример кода.

Комментарии:

1. Просто чтобы избежать путаницы: виджет, показанный на скриншоте, является «сборщиком» вместо «счетчика»

Ответ №1:

Я разработал пользовательские настройки, которые можно найти здесь.

XML-код:

 <com.vanniktech.vntnumberpickerpreference.VNTNumberPickerPreference
    android:defaultValue="@integer/font_size_default_value"
    android:key="preference_font_size"
    android:title="@string/font_size"
    app:vnt_maxValue="@integer/font_size_max_value"
    app:vnt_minValue="@integer/font_size_min_value" />
  

Gradle включает:

 compile 'com.vanniktech:vntnumberpickerpreference:1.0.0'
  

Комментарии:

1. Привет @Niklas, я не могу создать проект VNTNumberPickerPreference в моем eclipse. можете ли вы, пожалуйста, помочь мне

2. Да, вы не можете, потому что я использую Gradle, поэтому вам нужно либо использовать плагин Gradle в Eclipse, либо использовать Android Studio (который в будущем будет поддерживаться Google, а не Eclipse)

3. Как я могу использовать это со строками?

4. @tim687 это невозможно.

Ответ №2:

Запустите счетчик / средство выбора в обработчике событий предпочтения:

 final EditTextPreference msgLimitPref = (EditTextPreference)
                                 findPreference("prefMsgLimit");
                         msgLimitPref.setOnPreferenceClickListener(new
                                 OnPreferenceClickListener() {
                                 @Override
                                public boolean onPreferenceClick(Preference preference) {
                                     msgLimitPref.getDialog().dismiss();
                                   //launch spinner/numberpicker/activity/dialog here
                                 return true;
                                 }
                                 });