2012-06-18 25 views
16

क्या DatePicker और TimePicker संवाद का डिफ़ॉल्ट रंग बदलने का कोई तरीका है?Android में DatePicker और TimePicker संवाद का डिफ़ॉल्ट रंग कैसे बदलें?

इस कोड मैं

<DatePicker 
        style="@style/date_picker" 
        android:background="#6495ED" 
        android:id="@+id/DatePicker" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dip" 
        android:layout_marginRight="5dip" /> 

<TimePicker 
        android:id="@+id/TimePicker" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dip" 
        android:layout_marginRight="5dip" /> 

की कोशिश की दो रेखा के नीचे केवल पृष्ठभूमि रंग बदल रहा है, मैं दोनों की तारीख और समय पिकर के डिफ़ॉल्ट चांदी रंग बदलना चाहते हैं।
कृपया कोई मदद करें।

style="@style/date_picker" 
android:background="#6495ED" 

उत्तर

6

आप एक कस्टम विषय बना सकते हैं और कुछ निर्देशिका में सहेजने के अंत में में मानों इस तरह एक themes.xml जोड़ने के लिए, एप्लिकेशन

पहले के लिए डिफ़ॉल्ट के रूप में इस विषय स्थापित करने के लिए करने के लिए है:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar"> 
     <!-- Any customizations for your app running on pre-3.0 devices here --> 
    </style> 
</resources> 

फिर, नाम "मान-v11" (Android 3.0) रेस निर्देशिका में से एक निर्देशिका बनाने और इस

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light"> 
     <!-- Any customizations for your app running on 3.0+ devices here --> 
    </style> 
</resources> 
01 की तरह एक themes.xml डाल

अंत में, एक निर्देशिका का नाम "मान-v14" (Android 4.0+) रेस निर्देशिका में से एक themes.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar"> 
     <!-- Any customizations for your app running on 4.0+ devices here --> 
    </style> 
</resources> 

अंत में अपने Manifest.xml में बना सकते हैं और बनाने

<application 
     ... 
     android:theme="@style/MyAppTheme"> 
+3

यह बदलने का तरीका होगा यदि बदलने की आवश्यकता वाले व्यक्ति सार्वजनिक थे। अफसोस की बात है, स्टाइल विजेट्स के लिए उपयोग की जाने वाली सभी विशेषताएं सार्वजनिक नहीं हैं। ईमानदार होने के लिए, यह भी स्पष्ट नहीं है कि ओपी किस बारे में बात कर रहा है। – Vikram

3

मुझे लगता है कि एक्सएमएल में पुराने देशी पिकर विगेट्स के ग्रे रंग को बदलने का कोई तरीका नहीं है।

मैं आपको लाइब्रेरी HoloEverywhere लाइब्रेरी का उपयोग करने का प्रस्ताव करता हूं ताकि डेटपिकर और टाइमपिकर सभी एंड्रॉइड प्लेटफ़ॉर्म 2.1+ पर वास्तव में अच्छा लगे।

3

आप इस तरह की थीम बदलकर अपने डेट-पिकर का विषय बदल सकते हैं।

आपके अनुसार आइटम बदलें।

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

आपके अनुसार आइटम बदलें। और अपने डेटा पिकर शैली

style="@style/date_picker" 
+0

यह केवल "रजत रंग" के साथ एंड्रॉइड लोअर 4.x के लिए नहीं, नए डेटपिकर और टाइमपिकर के लिए उपयोगी है। –

+1

@ जूलियाहेक्सन, @ ​​केकेसी [इस lib की जांच करें] (https://github.com/luminousman/DatePicker) यह निम्न संस्करण एंड्रॉइड 4.x के लिए हल है, आप अपनी पृष्ठभूमि चांदी रंग बदलते हैं –

+0

यह एक कोड है जिसमें स्वयं कोडित टाइमपिकर है और डेटपिकर, मूल एंड्रॉइड क्लासेस के साथ नहीं - जो "सामान्य" रैखिक लेआउट हैं।और यदि मैं लाइब्रेरी का उपयोग करता हूं, तो मैं होलो हर जगह ले जाऊंगा क्योंकि यह पुराने एंड्रॉइड बकवास विजेट्स से कहीं अधिक सुंदर है ^^ –

8

का सबसे अच्छा तरीका पिकर संवाद को बदलने के लिए इस विषय सेट इसे करने के लिए कस्टम शैली जोड़कर है।

<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="colorAccent">@color/color_primary</item> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
</style> 

TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false); 

मेरे लिए पूरी तरह से काम किया।

+0

यह एक सही जवाब है! – krisDrOid

+0

यहां सेलिस्ट सूची ऑब्जेक्ट क्या है ??? –

+0

टाइमपिकरडियलोग.ऑनटाइमसेट लिस्टर – Godwin