2012-10-03 76 views
10

我想創建一個自定義對話框,基本上我使用DatePickerDialog.THEME_HOLO_DARK但我想更改「分隔線」顏色和文本顏色。如何更改Android DatePicker對話框的「分隔線」顏色

enter image description here

我想改變藍色的線條和文字顏色爲紅色。

在此先感謝!

編輯:

使用此代碼:

<style name="testo" parent="@android:style/Widget.DeviceDefault.DatePicker"> 
    <item name="android:divider">@drawable/dialog_divider</item> 
</style> 

這就是我得到: enter image description here

的分壓器的繪製基本上是一個紅線..

回答

0

你將不得不創建自己的主題,擴展THEME_HOLO_DARK。 Change basic theme color of android application

編輯:嘗試這樣的事情

<style name="testo" parent="@android:style/Widget.DeviceDefault.DatePicker"> 
    <item name="android:divider">@drawable/MyDivider</item> 
</style> 

和參考傳遞給你的主題,以constructor

+0

我無法擴展THEME_HOLO_DARK是否與Theme.black相同?如果我嘗試設置android:_DEFAULT_BASE_COLOR_1我得到這個錯誤:錯誤:錯誤:找不到匹配給定名稱的資源:attr 'android:_DEFAULT_BASE_COLOR_1'。 –

+0

您應該可以擴展THEME_HOLO_DARK。您是否在資源中定義了_DEFAULT_BASE_COLOR_1? – AedonEtLIRA

+0

這是我現在擁有的: 我該如何定義我的資源? –

-2

你可以做這樣的事情

<style name="testo" parent="@android:style/Widget.DeviceDefault.DatePicker">

改變文字顏色

<item name="android:textColor">#FF0000</item>

</style>

你有沒有想過如何改變分隔線顏色?我試圖做同樣的事情,目前還找不到任何東西。

+3

我不能改變文本的顏色,使用你寫的代碼 –

+0

在這裏詳細分析:[Android:如何更改datepicker divider的顏色?](http://stackoverflow.com/questions/20148671/ Android系統如何對變化的顏色的最-日期選擇器,分頻器)。 – user3264740

+0

根本不適用於我。 – Maurizio

0

這種風格將該產品添加到您的主旋律

<item name="numberPickerStyle">@style/MyApp.NumberPicker</item> 

組自定義分隔顏色

<style name="MyApp.NumberPicker" parent="Widget.Holo.NumberPicker"> 
    <item name="selectionDivider">@color/white</item> 
</style> 

編輯:只在HoloEverywhere

+0

「找不到與給定名稱匹配的資源:attr'numberPickerStyle'。」 – adamdport

0

測試,我知道這是一個遲到的答覆,但我希望將我的發現與未來遇到或將遇到此問題的人分享。

我搜索了很多地方,我發現的唯一解決方案是SimonVT's Pickers。

實施庫後,很容易改變顏色。在numberpicker中,圖書館使用的圖像可以簡單地替換爲所需的圖案。

這個例子有三個選擇器:NumberPicker,DatePicker和TimerPicker。

https://github.com/rodrigobusata/android-pickers

我希望你覺得它有用。


修訂

上面的鏈接不要再existe,現在你必須使用材料設計https://github.com/wdullaer/MaterialDateTimePicker

+0

鏈接不工作..請檢查! –

0

請使用下面的代碼

這裏,對話是DatePickerDialog的對象。

int dividerId = dialog.getContext().getResources().getIdentifier 
      ("android:id/titleDivider", null, null); 
    View divider = dialog.findViewById(dividerId); 
    divider.setBackgroundColor(getResources().getColor(R.color.red)); 

    int textViewId = dialog.getContext().getResources().getIdentifier 
      ("android:id/alertTitle", null, null); 
    TextView tv = (TextView) dialog.findViewById(textViewId); 
    tv.setTextColor(getResources().getColor(R.color.red)); 
相關問題