2014-10-22 3 views
5

Все, я настройка сборщика города, в котором используется три numberPicker внутри, как это: enter image description hereКак уменьшить размер шрифта в NumberPicker

Св китайский сборщик области-город-область.

Код:

String[] areas = get_from_somewhere(); 
areaPicker.setDisplayedValues(areas); 

Я хочу, чтобы уменьшить размер шрифта, какие-либо советы?

Решение: Refer to this

+0

Возможно, вы используете пользовательский 'WheelView', который расширяет' View', не так ли? – Rustam

+0

@ Rustam да, я хочу WheelView в стиле андроида. основал образец на Github https://github.com/ywenblocker/Provinces-Picker-wheel, но он не подходит для темы Holo. Дайте мне больше информации, plz – Ninja

+0

лучше используйте этот https://github.com/mstorsjo/vlc-android/tree/master/java-libs/WheelView/src/kankan/wheel/widget – Rustam

ответ

7

Вы можете продлить по умолчанию NumberPicker в пользовательский класс CustomNumberPicker для этого:

public class CustomNumberPicker extends NumberPicker { 

    public NumberPicker(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    @Override 
    public void addView(View child) { 
     super.addView(child); 
     if(child instanceof EditText) { 
      ((EditText) child).setTextSize(25); 
     } 
    } 
} 

Теперь замените текущую NumberPicker в XML с CustomNumberPicker:

<com.pkg.name.CustomNumberPicker 
    android:id="@+id/number_picker" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
+0

Спасибо, я установил точку останова на ((EditText)) .setTextSize (25); Но ничего не произошло – Ninja

+0

Вы использовали CustomNumberPicker вместо NumberPicker в своем xml или мероприятии? –

+0

Да, я использую "provincePicker = new SmallSizeNumberPicker (context, null);" в моем конструкторе точка прерывания никогда не вызывает. Я использую ключевое слово addView ('в источнике NumberPicker.java и ничего не получаю. – Ninja

8

Хотя технически не изменяя размер шрифта, размер текста можно изменить, изменив масштаб всего представления NumberPicker.

<NumberPicker 
    android:id="@+id/number_picker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scaleX=".7" 
    android:scaleY=".7"/> 
1

На основании ответа Джона Старберда.

Вы добавляете стиль.

<style name="NumberPickerText"> 
    <item name="android:textSize">11dp</item> 
</style> 

Добавить стиль в ваш выборщик в формате XML.

android:theme="@style/NumberPickerText" 
Смежные вопросы