日付ピッカーを拡張するカスタム日付ピッカーがあります。
コンポーネントをロードするときに月のスタイルを初期化しました。
private void updateCustomStyle() {
ViewGroup childPicker = (ViewGroup)
findViewById(Resources.getSystem().getIdentifier("month" /*rest is:
day, year*/, "id", "android"));
EditText textview = (EditText)
childPicker.getChildAt(0);
textview.setTextSize(35);
textview.setTextColor(Color.GREEN);
textview.invalidate();
}
この後、datepicker が読み込まれ、月のフォント サイズが大きくなり、色が緑色になります。月を別の月にスクロールした後に問題が発生します。初期化時に定義した日付変更リスナーがあります。
this.init(agora.getYear(), agora.getMonth(), agora.getDate(),
this.getOnDataChangedListener());
そして、データ変更リスナーでは、次の呼び出しがあります。
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
updateCustomStyle();
}
しかし、別の月にスクロールすると、元のスタイルに戻ります。これに関する提案はありますか?
このアプローチは、Android 3.1 および 4.0 で機能します。この問題は、Android 4.1.2 以降で発生します。何か案は?