7

datepickerのデフォルトのtextsizeが大きすぎます。私はそれをhereに変更する方法を見たことがありますが、datepickerクラスの中に入れ子になっているtextviewsのための釣りはぎこちなくエラーが発生しやすいようです。datepickerでtextsizeを変更するには?

より良い/よりクリーンな方法がありますか?

DatePicker picker = (DatePicker)findViewById(R.id.dp_date); 
    ViewGroup childpicker 

    = (ViewGroup) 
    findViewById(Resources.getSystem().getIdentifier("month" /*rest is: 
    day, year*/, "id", "android")); 

    EditText textview = (EditText) 
    picker.findViewById(Resources.getSystem().getIdentifier("timepicker_input", 
    "id", "android")); 
    textview.setTextSize(30); 
    textview.setTextColor(Color.GREEN); 

答えて

1

使用は:

ViewGroup childpicker = (ViewGroup)datePicker.findViewById(Resources.getSystem().getIdentifier("month", "id", "android")); 

EditText mornthEt = (EditText)childpicker.getChildAt(1);// month widget 

//change textsize and textcolor for mornthEt 

mornthEt.setTextSize(30); 

mornthEt.setTextColor(Color.GREEN); 
1

使用コード以下のコード以下

+1

、あなたがダウンスピンアップ時または「getChildAt(0)」ではない「getChildAt(1)」私のために働いた、2-テキストサイズはバック変わる1-、これはすべての –

+1

では役に立ちませんこのソリューションを使用しないことを強くお勧めします。ライブラリーの内部でビューの順序が変更されたときにレンダリングされる可能性がある 'getChildAt(1)'バージョンで動作し、異なる実装で壊れる可能性があります –

3

日付ピッカー/ timepicker/numberpickerのフォントサイズを変更する最も簡単な方法は、テーマをカスタマイズしています。

スタイルファイルでは、デフォルトのフォントサイズを次のように設定します。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:textSize">22sp</item> 
</style> 
+0

は完璧に動作します!迅速なソリューションをありがとう。 –

0

私は以下を使用しましたCustomDateAndTimePicker。これは非常に簡単にカスタマイズできます。日付、月、年、時、分といった異なるオプションには、独自の番号ピッカーがあります。したがって、テキストのサイズ、色などのスタイルもカスタマイズできます。カスタム使用のために独自の番号ピッカーを追加することができます

0

Seanのコードが動作します。他のすべてのコンポーネント(テキストビュー、ボタンなど)のフォントサイズも変更されていますので、ここで解決します。

タイムピッカーのスタイルを変えて、タイムピッカーテーマで使用します。

<style name="my_time_picker_style"> 
    <item name="android:textSize">24sp</item> 
</style> 

と私はhttps://youtu.be/JMJ2ujhk9c0

1

ショーンのアプローチが多数存在している場合には、ピッカー自体のUIにいくつかのグリッチを作ったのか、ビデオを見て、

android:theme="@style/my_time_picker_style" 

あなたtimepickerにそれを使用しますピッカーのすべてのコンポーネントにテキストサイズを適用するのは完璧ではないと思います。 以下は私が使用したもので、UIの不具合がなければ完璧に動作します。アンドロイド4.1 +用

<style name="PickerTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:editTextStyle">@style/PickerEditText</item> 
</style> 

<style name="PickerEditText" parent="ThemeOverlay.AppCompat.Dark"> 
    <item name="android:textSize">24sp</item> 
</style>