如何更改android中日期选择器中的选定日期颜色?

时间:2013-03-18 06:57:17

标签: android datepicker customization

我正在使用此代码作为日期选择器..我希望所选日期的设置颜色不同。并更改日期选择器中文本的默认颜色。我该怎么做呢。我使用的是android2.2。

  <LinearLayout
    android:id="@+id/datePickerLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.45"
    android:background="#2B2B2B" >

    <DatePicker
        android:id="@+id/datePicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="27dp"
        android:layout_marginTop="30dp"
        android:maxDate="@string/maxDate"
        android:minDate="@string/minDate" >
    </DatePicker>
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

为了能够访问DatePicker的内部,您必须包含该类的自定义版本。如果你看看源代码,你会注意到3个EditTexts并且它们都是私有的,没有公共getter ...好消息是类很简单,所以修改它应该很容易。

http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/widget/DatePicker.java#95

答案 1 :(得分:0)

这个想法是循环访问DatePicker的子级以获得NumberPickers。一旦获得NumberPicker,请获取Paint类型的私有字段mSelectorWheelPaint(用于绘制DatePicker),并设置其颜色。

只需使用下一个代码并调用<div class="outerContainer3"> <div class="outerContainer2"> <div class="outerContainer1"> <div> <div> <div class="myDiv"> <div class="headerContainer2"> <div class="headerContainer1"> <h1 class="header">asdfkasdjlfkasdjfla sjdlfkja sldkfj alskfj lskdjf laskdjf laskjf akjf lsakfjs lak jfkjflakj flkajds lakj f</h1> </div> </div> </div> </div> </div> </div> </div> </div>

updateAttrs(yourDatePicker, color)

可能您需要系统版本> = 21(棒棒糖),但我没有尝试。