Android - can I increase the textSize for the NumberPicker widget?
I was facing the same problem, I wanted to increase the text size of the NumberPicker but couldn't find a way to do it as part of the Widget. All the above answers are great, but instead I went with the following solution, which met my needs:
<NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="1.5"
android:scaleY="1.5"/>
This essentially magnifies the entire Widget.
The following worked for me (in API 15 / 4.0.3)
note: aheuermann's solution is safe against potential implementation differences in the NumberPicker
's layout across different Android versions (that is, the TextView
may not always be at child position 1).
TextView tv1 = (TextView)_numberPicker.getChildAt(1);
tv1.TextSize = 10;
I was able to accomplish this by extending the default NumberPicker. Not ideal, but it works.
public class NumberPicker extends android.widget.NumberPicker {
public NumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void addView(View child) {
super.addView(child);
updateView(child);
}
@Override
public void addView(View child, int index, android.view.ViewGroup.LayoutParams params) {
super.addView(child, index, params);
updateView(child);
}
@Override
public void addView(View child, android.view.ViewGroup.LayoutParams params) {
super.addView(child, params);
updateView(child);
}
private void updateView(View view) {
if(view instanceof EditText){
((EditText) view).setTextSize(25);
((EditText) view).setTextColor(Color.parseColor("#333333"));
}
}
}
Then just reference this class in your layout xml.
<com.yourpackage.NumberPicker
android:id="@+id/number_picker"
android:layout_width="43dp"
android:layout_height="wrap_content" />
only set this sytle for your NumberPicker:
<style name="AppTheme.Picker" parent="Theme.AppCompat.Light.NoActionBar" >
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textSize">20dp</item>
</style>
<NumberPicker
android:theme="@style/AppTheme.Picker"
android:id="@+id/yearNumberPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
and <item name="android:textColorPrimary">@android:color/white</item>
change textcolor :