Datepicker と Timepicker にカスタム スキンを使用したいと考えています。XML で背景を変更してもうまくいきません (各ボタンではなく、セットの背景が変更されます)。API は非常に短く、外観については何もありません ( http://developer.android.com/reference/android/widget/DatePicker.html )。Datepickers と Timepickers のボタンにカスタム スキンを使用することはできますか?
18573 次
5 に答える
12
わかりました、日付ピッカーと時間ピッカーのカスタムテーマを探しています..これにより、ボタンのテーマを変更できます..
https://github.com/luminousman/DatePicker
そしてICSスタイルで
https://github.com/luminousman/android-datepicker
これがあなたを助けることを願っています....
于 2012-01-07T14:37:37.767 に答える
4
残念ながら、numberpicker は内部ウィジェットです。これらの背景をオーバーライドする必要があります。そして、それを行う公式の方法はありません。
<NumberPickerButton android:id="@+id/increment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/timepicker_up_btn" />
<EditText android:id="@+id/timepicker_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:singleLine="true"
style="?android:attr/textAppearanceLargeInverse"
android:textColor="@android:color/primary_text_light"
android:textSize="30sp"
android:background="@drawable/timepicker_input" />
<NumberPickerButton android:id="@+id/decrement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/timepicker_down_btn" />
于 2010-10-08T15:05:50.827 に答える
3
これは安全ではありませんが、クラス全体をコピーせずにタイムピッカーをスキンする唯一の方法だと思います:
try { for (int i=0; i<2; i++)
{
((ViewGroup) ((ViewGroup) mTimePicker.getChildAt(0)).getChildAt(i)).getChildAt(0).setBackgroundResource(R.drawable.timepicker_up_btn);
((ViewGroup) ((ViewGroup) mTimePicker.getChildAt(0)).getChildAt(i)).getChildAt(1).setBackgroundResource(R.drawable.timepicker_input);
((ViewGroup) ((ViewGroup) mTimePicker.getChildAt(0)).getChildAt(i)).getChildAt(2).setBackgroundResource(R.drawable.timepicker_down_btn);
}
} catch (Throwable t) {/* obviously no the view may look like garbage */}
明らかに、参照されたドローアブルをアプリで提供する必要があります
于 2011-05-16T11:58:43.443 に答える