2016-08-04 222 views
4

我是新來的android編程,我想在我的佈局中使用DatePicker元素。我能夠成功地使用它,但我無法弄清楚如何改變其選擇的日期顏色。我在這個網站上閱讀過很多主題,他們談論了改變顏色DatePickerDialog。我試圖按照類似的方法處理DatePicker元素,但無法做到。我可以使用calendarTextColor屬性更改日期的textColor。我對佈局文件的代碼如下:Android:如何更改DatePicker元素中選定日期的顏色?

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 

      <DatePicker 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/datePicker" 
       android:datePickerMode="calendar" 
       android:spinnersShown="false" 
       android:layout_gravity="center" 

       android:layout_marginTop="-52dp" 
       android:layout_marginBottom="-20dp" 
       style="@style/MyDatePickerStyleTheme" 
       /> 

</LinearLayout> 

這裏是對應的代碼styles.xml:我想補充

<style name="MyDatePickerStyleTheme" parent="@android:style/Theme.Holo.Light.Dialog"> 
    <item name="colorAccent"> #00ff00 </item> 

    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item> 
    <item name="android:colorPrimary"> #00ff00 </item> 
    <item name="android:colorPrimaryDark"> #00ff00 </item> 
    <item name="android:colorAccent"> #00ff00 </item> 
    <item name="android:backgroundTint"> #00ff00 </item> 
    <!-- <item name="android:calendarTextColor"> #00ff00 </item> --> 


</style> 

<style name="MyDatePickerStyle"> 
    <item name="android:calendarTextColor"> #00ff00 </item> 
</style> 

一些加分:

  1. android:calendarTextColor屬性正在工作,如果我把它放在MyDatePickerStyleTheme裏面,但是在放入MydatePickerStyle時不工作。
    換句話說,後面的主題風格沒有任何影響。
  2. 在不同的Android版本(棒棒糖和棉花糖),相同的代碼給出了非常不同的外觀佈局。
  3. 我只是想改變選定的日期顏色,但如何以良好的方式更改日期和其他樣式之間的間距。

任何幫助將不勝感激。

回答

1
<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
<!-- this is new --> 
<item name="colorAccent">@color/accent</item> 

<item name="android:datePickerStyle">@style/MyDatePickerStyle</item> 
<item name="android:colorAccent">@color/primDark</item> 

<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker"> 
<item name="android:headerBackground">@color/prim</item> 
<item name="android:calendarTextColor">@color/primDark</item> 
<item name="android:dayOfWeekBackground">@color/primDark</item> 
<item name="android:yearListSelectorColor">@color/accent</item> 
<item name="android:datePickerMode">calendar</item> 
<item name="android:minDate">01/01/2000</item> 

+0

我嘗試了你的建議,但它沒有奏效。而且我之前也有colorAccent屬性。 – user3800670

相關問題