2014-10-22 17 views
5

, jestem dostosowywania próbnika miasto, które wykorzystuje trzy numberPicker wewnątrz, tak: enter image description hereJak zmniejszyć rozmiar czcionki w NumberPicker

jego chińskiej prowincji-city-kierunkowy selektor.

Kod:

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

Chcę zmniejszyć rozmiar czcionki, jakieś rady?

Rozwiązanie: Refer to this

+0

Być może używasz niestandardowego 'WheelView', który rozszerza' Widok', czyż nie? – Rustam

+0

@Rustam tak, chcę WheelView w stylu android. założył próbkę na Github https://github.com/ywenblocker/ Provinces-Picker-wheel, ale nie pasuje do motywu Holo. Daj mi więcej informacji, plz – Ninja

+0

lepiej użyć tego https://github.com/mstorsjo/vlc-android/tree/master/java-libs/WheelView/src/kankan/wheel/widget – Rustam

Odpowiedz

7

można rozszerzyć domyślnego NumberPicker w swojej klasie niestandardowej CustomNumberPicker na to:

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); 
     } 
    } 
} 

Teraz zastąpić bieżący NumberPicker w xml z CustomNumberPicker:

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

Dziękuję, ustawię punkt przerwania w widoku (EditText) .setTextSize (25); Ale nic się nie stało – Ninja

+0

Czy używałeś CustomNumberPicker zamiast NumberPicker w twoim xml lub działaniu? –

+0

Tak, używam "provincePicker = new SmallSizeNumberPicker (context, null);" w moim konstruktorze punkt przerwania nigdy nie wywołuje. Wyszukuję słowo kluczowe "addView (" w źródle NumberPicker.java, i nic nie dostaję.) – Ninja

8

Chociaż technicznie nie zmienia się rozmiaru czcionki, rozmiar tekstu można zmienić, zmieniając skalę całego widoku NumberPicker.

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

Na podstawie odpowiedzi Johna Starbirda.

Dodajesz styl.

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

Dodaj styl do swojego selektora liczb w XML.

android:theme="@style/NumberPickerText" 
Powiązane problemy