2014-10-22 21 views
5

All zu reduzieren, ich bin eine Stadt Picker Customizing, die innerhalb drei Number verwendet, wie folgt aus: enter image description hereWie die Schriftgröße in Number

Sein eine chinesische Provinz-Stadt-Gebiet Picker.

Der Code:

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

ich die Schriftgröße reduzieren möchten, einen Rat?

Lösung: Refer to this

+0

Sie könnten benutzerdefinierte 'WheelView' verwenden, die' View' erweitert, nicht wahr? – Rustam

+0

@Rustam Ja, ich möchte ein WheelView im Android-Stil. habe ein Sample auf Github https://github.com/ywenblocker/Provinces-Picker-wheel gegründet, aber es passt nicht zum Holo Theme. Geben Sie mir mehr Informationen, PLZ – Ninja

+0

besser nutzen Sie diese https://github.com/mstorsjo/vlc-android/tree/master/java-libs/WheelView/src/kankan/wheel/widget – Rustam

Antwort

7

können Sie die Klasse Standard NumberPicker in Ihrer benutzerdefinierten erweitern CustomNumberPicker dies für:

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

Vielen Dank für Ihre Antwort, ich habe einen Haltepunkt auf ((EditText) Ansicht) gesetzt. SetTextSize (25); Aber nichts ist passiert – Ninja

+0

Haben Sie CustomNumberPicker anstelle von NumberPicker in Ihrem XML oder Ihrer Aktivität verwendet? –

+0

Ja, ich verwende "provincypicker = new SmallSizeNumberPicker (context, null);" In meinem Konstruktor wird der Unterbrechungspunkt nie aufgerufen. Ich suche das Stichwort 'addView (' in der Quelle von NumberPicker.java, und bekomme nichts. – Ninja

8
:

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

jetzt Ihre aktuellen NumberPicker in xml mit CustomNumberPicker ersetzen

Obwohl die Schriftgröße technisch nicht geändert wird, kann die Größe des Textes geändert werden, indem der Maßstab der gesamten NumberPicker-Ansicht geändert wird.

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

Basierend auf John Starbird Antwort.

Sie fügen Stil hinzu.

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

Fügen Sie Ihrem Zahlenwähler Stil in XML hinzu.

android:theme="@style/NumberPickerText" 
Verwandte Themen