2012-10-03 14 views
10

मैं एक कस्टम संवाद बनाने की कोशिश कर रहा हूं, मूल रूप से मैं DatePickerDialog.THEME_HOLO_DARK का उपयोग कर रहा हूं लेकिन मैं "विभक्त" रंग और टेक्स्ट रंग बदलना चाहता हूं।एंड्रॉइड डेटपिकर डायलॉग के "डिवाइडर" रंगों को कैसे बदलें

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

विभक्त के लिए drawable मूल रूप से एक लाल रेखा है

उत्तर

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

मैं थीम_ब्लैक के समान नहीं हूं IME_HOLO_DARK का विस्तार नहीं कर सकता? और यदि मैं एंड्रॉइड सेट करने का प्रयास करता हूं: _DEFAULT_BASE_COLOR_1 मुझे यह त्रुटि मिलती है: त्रुटि: त्रुटि: कोई संसाधन नहीं मिला जो दिए गए नाम से मेल खाता है: attr 'एंड्रॉइड: _DEFAULT_BASE_COLOR_1'। –

+0

आपको THEME_HOLO_DARK का विस्तार करने में सक्षम होना चाहिए। क्या आपने अपने संसाधनों में _DEFAULT_BASE_COLOR_1 परिभाषित किया था? – AedonEtLIRA

+0

यह मेरे पास अब है: <संसाधन xmlns: android = "http://schemas.android.com/apk/res/android"> <शैली का नाम = "ऐपथीम" पैरेंट = "एंड्रॉइड: थीम। होलो। Light.DarkActionBar "/> <शैली नाम =" mytheme "जनक =" @ एंड्रॉयड: शैली/Theme.Black "> <आइटम नाम =" एंड्रॉयड: _DEFAULT_BASE_COLOR_1 "> # FFFFFF <आइटम नाम =" एंड्रॉयड: windowNoTitle "> सच मैं अपने संसाधनों में इसे कैसे परिभाषित कर सकता हूं? –

-2

करने के लिए अपने विषय के संदर्भ में पारित आप

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

की तरह कुछ कर रही द्वारा पाठ का रंग बदल सकते हैं

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

</style>

क्या आपने कभी पता लगाया कि विभाजक रंग को कैसे बदला जाए? मैं वही काम करने की कोशिश कर रहा हूं और इस समय वास्तव में कुछ भी नहीं ढूंढ सकता।

+3

मैं आपके द्वारा लिखे गए कोड का उपयोग करके टेक्स्ट रंग भी नहीं बदल सकता –

+0

यहां विस्तार से विश्लेषण: [एंड्रॉइड: डेटपिकर विभक्त का रंग कैसे बदलें?] (Http://stackoverflow.com/questions/20148671/ android-कैसे-परिवर्तन-रंग-ऑफ-द-datepicker-विभक्त)। – 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

पर परीक्षण मैं जानता हूँ कि यह एक देर से उत्तर है, लेकिन मैं भविष्य में इस समस्या का अनुभव करने वाले या अनुभव करने वाले लोगों के साथ मेरे निष्कर्ष साझा करना चाहते हैं।

मैंने कई स्थानों की खोज की, और मुझे मिला एकमात्र समाधान साइमनवीटी के पिकर्स था।

लाइब्रेरी को लागू करने के बाद, रंगों को बदलने में बहुत आसान था। नंबरपिकर में - पुस्तकालय उन छवियों का उपयोग करता है जिन्हें वांछित डिज़ाइनों के साथ प्रतिस्थापित किया जा सकता है।

इस उदाहरण में तीन पिकर्स हैं: नंबरपिकर, डेटपिकर और टाइमरपिकर।

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

मैं तुम्हें इसे उपयोगी पाते उम्मीद है।


UPDATED

ऊपर के लिंक अब और 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)); 
संबंधित मुद्दे