2012-02-14 9 views
9

होलो लाइट थीम के साथ डेटपिकरडियलॉग प्राप्त करना कैसे संभव है?डेटपिकरडियलॉग?

जब बनाने का पालन करने वाले DatePickerDialog के रूप में:

DatePickerDialog dpd = new DatePickerDialog(new ContextThemeWrapper(this, 
        android.R.style.Theme_Holo_Light_Dialog_NoActionBar), 
    new DateListener(v), mTime.year, mTime.month, mTime.monthDay); 

या विषय android.R.style.Theme_Holo_Light या android.R.style.Theme_Holo_Light_Dialog साथ, मैं एक मानक शीर्षक और मानक बटन के साथ एक दिनांक पिकर मिलता है। मैंने एक होलो लाइट पेरेंट के साथ एक कस्टम थीम का उपयोग करने की कोशिश की, लेकिन यह भी काम नहीं किया। ऐसा लगता है कि थीम android.R.style.Theme_Holo के साथ काम करना प्रतीत होता है, लेकिन परिणाम एक अंधेरा पृष्ठभूमि है (जैसा कि अपेक्षित है), लेकिन मैं एक हल्का होना चाहता हूं।

एप्लिकेशन का एंड्रॉइड.जर संस्करण 14 का है, एप्लिकेशन एंड्रॉइड संस्करण 3.2 के साथ एक divice पर चल रहा है।

मैंने यहां एक उदाहरण देखा है: http://as400samplecode.blogspot.com/2011/10/android-datepickerdialog.html, जो होलो लाइट थीम के साथ DatePickerDialog दिखाता है, जिस तरह से मैं इसे प्राप्त करना चाहता हूं। मुझे नहीं पता कि यह मेरे सेटअप के साथ क्यों काम नहीं करता है।

सहायता के लिए धन्यवाद।

+0

डाल एंड्रॉयड: विषय = "@ एंड्रॉयड: शैली/Theme.Holo.Light" अपनी गतिविधि टैग में Manifest.xml –

+0

में @PadmaKumar धन्यवाद आप टिप्पणी के लिए। मैंने जो सुझाव दिया है, मैं कोशिश करूंगा। लेकिन आम तौर पर, मैं पैरेंट एंड्रॉइड के साथ एक थीम का उपयोग करना चाहता हूं: थीम के लिए थीम.होलो.लाइट। डियालॉगहेनलार्ज। – Julia

+0

@PadmaKumar मैंने एंड्रॉइड डाला: थीम = "@ एंड्रॉइड: शैली/थीम.होलो.लाइट" manifest.xml में गतिविधि टैग में और यह कुछ भी नहीं बदला (मुझे लगता है, क्योंकि मैं 'ContextThemeWrapper' का उपयोग करता हूं)। – Julia

उत्तर

16

DatePickerDialog एक निर्माता है जो एक विषय

DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) 

स्वीकार करता है सिर्फ एक ContextThemeWrapper

DatePickerDialog dpd = new DatePickerDialog(this, 
       android.R.style.Theme_Holo_Light_Dialog_NoActionBar, 
new DateListener(v), mTime.year, mTime.month, mTime.monthDay); 

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

+0

एंड्रॉइड.आर.स्टाइल .me_Holo_Light_Dialog_NoActionBar संस्करणों के लिए उपलब्ध है <2.0? –

+0

@ Yume117: नो होलो थीम हनीकॉम 3.0 – SuperShalabi

2

इस Android DatePickerDialog उदाहरण कोड शामिल है, जो DatePickerDialog में विभिन्न विषयों उपयोग करने के लिए कैसे पढ़ें।

यहां such one है।

डेटपिकरडियलॉग कन्स्ट्रक्टर जो थीम को परिभाषित करने के लिए समर्थन करता है।

final Calendar c = Calendar.getInstance(); 
    int year = c.get(Calendar.YEAR); 
    int month = c.get(Calendar.MONTH); 
    int day = c.get(Calendar.DAY_OF_MONTH); 
return new DatePickerDialog(getActivity(), AlertDialog.THEME_HOLO_DARK, this, year, month, day); 
+0

में जोड़ा गया था, जबकि यह उत्तर सही हो सकता है, कुछ स्पष्टीकरण जोड़ना बेहतर है।मैं प्रदान करता हूं कि प्रदान किया गया लिंक अमान्य हो गया है, इस समय उत्तर अब और कोई समझ नहीं पाएगा। – Wouter

1

महत्वपूर्ण स्टाइल यह मेरे लिए काम किया के लिए:

int datePickerThemeResId = 0; 
if (android.os.Build.VERSION.SDK_INT >= 21) { 
    datePickerThemeResId = android.R.style.Theme_Material_Light_Dialog; 
} 
new DatePickerDialog(
    context, 
    datePickerThemeResId, 
    (view, year, month, dayOfMonth) -> {}, 
    year, 
    month, 
    day 
).show();