Подтвердить что ты не робот

Как изменить стиль выбора номера в андроиде?

Я хочу использовать компонентный виджет NumberPicker, но вместо этого в теме по умолчанию Holo мне нужно заменить синий цвет оранжевым цветом, поскольку это цвет по умолчанию в моем стиле. Как заменить синий цвет и цвет номеров и сохранить все функциональные возможности компонента? the default number picker in Holo спасибо

4b9b3361

Ответ 1

Сделайте копию библиотеки /res/drawable - */numberpicker_selection_divider.9.png и укажите имя, например custom_np_sd.9.png.

Переопределить стиль NumberPicker по умолчанию с помощью темы активности:

<style name="AppTheme" parent="@style/Holo.Theme">
  <item name="numberPickerStyle">@style/CustomNPStyle</item>
</style>
<style name="CustomNPStyle" parent="@style/Holo.NumberPicker">
  <item name="selectionDivider">@drawable/custom_np_sd</item>
</style>

И примените @style/AppTheme как тему активности.

Ответ 2

К сожалению, вы не можете его стилизовать. Атрибуты стилей и стилей для NumberPicker отсутствуют в общедоступном API, поэтому вы не можете установить их и изменить внешний вид по умолчанию. Вы можете выбирать только светлую и темную тему.

В качестве решения я бы предложил вместо этого использовать android-numberpicker. Библиотека - это, в основном, порт NumberPicker, извлеченный из исходных кодов Android. Но это лучше, чем это, он также поддерживает NumberPicker для Android 2.x. Библиотека может быть легко оформлена.

Чтобы стиль делителя изменил стиль NPWidget.Holo.NumberPicker и его атрибуты selectionDivider и selectionDividerHeight.
Для стиля текста отрегулируйте стиль NPWidget.Holo.EditText.NumberPickerInputText.

Ответ 3

введите описание изображения здесь

<NumberPicker
        android:id="@+id/np"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_centerHorizontal="true"
        android:background="@drawable/drawablenp"


        android:layout_centerVertical="true"></NumberPicker>