Android DatePicker字体

zzz*_*zzz 5 fonts android datepicker typeface

我知道您可以将自定义TypeFace应用于Android中的TextView,如下所示:

TextView tv = findViewById(R.id.textview01);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/BLACKROSE.TTF");
tv.setTypeface(tf);
Run Code Online (Sandbox Code Playgroud)

有没有办法为DatePicker做到这一点?

小智 10

这是我的代码.我希望它对某人有用.

DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker1);
LinearLayout layout1 = (LinearLayout) datePicker.getChildAt(0);
LinearLayout layout = layout1.getChildAt(0);

// day
LinearLayout day = (LinearLayout) layout.getChildAt(0);
setNumberPicker(day);

// month
LinearLayout month = (LinearLayout) layout.getChildAt(1);
setNumberPicker(month);

// year
LinearLayout year = (LinearLayout) layout.getChildAt(2);
setNumberPicker(year);
Run Code Online (Sandbox Code Playgroud)

...

private void setNumberPicker(LinearLayout ll) {
    ((ImageButton) ll.getChildAt(0)).setBackgroundResource(R.drawable.plus_button);
    ((ImageButton) ll.getChildAt(2)).setBackgroundResource(R.drawable.minus_button);

    EditText et = (EditText) ll.getChildAt(1);
    et.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
    et.setTypeface(youtTypeface);
}
Run Code Online (Sandbox Code Playgroud)


tri*_*ggs 5

在查看源代码之后,Datepicker小部件包含3个NumberPicker小部件(日,月,年),这些小部件依次保存TextView.因此,您必须在DatePicker内的NumberPickers内设置TextView的字体.

我认为你必须获得NumberPicker和DatePicker的源代码并修改源代码才能实现这一点,说起来容易做起来我害怕.