दिलचस्प पोस्ट
एंड्रॉइड कैमरा ओरिएंटेशन को ठीक से कैसे सेट करें? असतत फूरियर की गणना कैसे करें? क्या वर्ग कोष्ठकों को यूआरएल में अनुमति है? क्या है 'var कि = यह;' जावास्क्रिप्ट में क्या मतलब है? पायथन: datetime.date.today () मॉक करने की कोशिश कर रहा है लेकिन काम नहीं कर रहा है MySQL LAST_INSERT_ID () एकाधिक रिकॉर्ड INSERT स्टेटमेंट के साथ प्रयोग किया जाता है ऑपरेटर को ओवरलोड करने का प्रयास करते समय त्रुटि "/" Py2exe- संकलित पायथन स्क्रिप्ट में QImage के लिए JPEG समर्थन को सक्षम करना? आवेदन मुख्य धागे पर बहुत ज्यादा काम कर रहा हो सकता है ActivityLifecycleCallbacks का उपयोग करते हुए स्वचालित रूप से एंड्रॉइड लाइफस्टाइल इवेंट लॉग करते हैं? JSONP अनुरोध के लिए HTTP हेडर संशोधित करें जीआईटी बैश का सटीक अर्थ क्या है? मैवेन के साथ पर्यावरण चर उद्देश्य-सी में कॉलबैक कैसे करें Scipy.cluster.hierarchy.linkage () में दूरी मैट्रिक्स का उपयोग करें?

मैं एंड्रॉइड चेतावनी संवाद की पृष्ठभूमि कैसे बदल सकता हूं?

मैं अपने आवेदन में AlertDialog वर्ग का उपयोग करता हूँ डिफ़ॉल्ट रूप से, इन अलर्ट संवादों में एक पारदर्शी पृष्ठभूमि होती है। मैं इसके बजाय एक अपारदर्शी पृष्ठभूमि का उपयोग करने की कोशिश कर रहा हूं, बहुत असफल। ये मेरी शैली हैं:

<style name="MyOpaqueActivity" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/my_background</item> <item name="android:alertDialogStyle">@style/MyOpaqueAlertDialog</item> </style> <style name="MyOpaqueAlertDialog" parent="@android:style/Theme.Dialog.Alert"> <item name="android:background">#454545</item> <item name="android:windowBackground">@drawable/my_background</item> <item name="android:popupBackground">@drawable/my_background</item> </style> 

मैंने पूरी गतिविधियों के लिए सफलतापूर्वक "MyOpaqueActivity" शैली लागू की है (विंडो की पृष्ठभूमि को "my_background" में बदल दिया गया है), लेकिन यह उन गतिविधियों के भीतर चेतावनी संवाद के लिए काम नहीं करता है। "अलर्ट डीआलोगस्टाइल" विशेषता और मेरी "मायओपाकअलार्टडायलोग" शैली का कोई प्रभाव नहीं है।

तो मैं इन चेतावनी संवादों की पृष्ठभूमि कैसे बदल सकता हूँ?

Solutions Collecting From Web of "मैं एंड्रॉइड चेतावनी संवाद की पृष्ठभूमि कैसे बदल सकता हूं?"

आपका दृष्टिकोण काम नहीं करेगा ऐसा लगता है कि अलर्टडायलाओग (और बिल्डर) हार्डकोड थीम को और कहीं भी सचेतक डेलॉगस्टाइल का सम्मान नहीं करते हैं:

 protected AlertDialog(Context context) { this(context, com.android.internal.R.style.Theme_Dialog_Alert); } public Builder(Context context) { this(context, com.android.internal.R.style.Theme_Dialog_Alert); } 

वे यहां एक ही निष्कर्ष पर आए थे

अलर्ट डाइलाओल से प्राप्त एक कस्टम डायलॉग क्लास जिसे संरक्षित कन्स्ट्रक्टर अलर्ट डायालॉग (प्रसंग, आर। शैली। माय ओपाकेअलार्ट डायलॉग) कहलाता है एक वैकल्पिक हल होगा।

नवीनतम एंड्रॉइड स्रोत में, अलर्ट डाइलॉग के लिए एक नया सार्वजनिक कन्स्ट्रक्टर है। बिल्डर जो थीम तर्क लेता है। दुर्भाग्य से, यह अभी तक जारी नहीं किया गया है (शायद जिंजरब्रेड में?)।

यह एक XML शैली में ऐसा करना आसान है जब आप यह मानते हैं कि AlertDialogs के कुछ खास विशेष गुण हैं

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

एंड्रॉइड 2.2 में यह मेरे लिए काम करता है:

 <style name="MyTheme" parent="@android:style/Theme"> <item name="android:alertDialogStyle">@style/MyOpaqueAlertDialog</item> </style> <style name="MyOpaqueAlertDialog"> <item name="android:fullDark">@drawable/[...]</item> <item name="android:topDark">@drawable/[...]</item> <item name="android:centerDark">@drawable/[...]</item> <item name="android:bottomDark">@drawable/[...]</item> <item name="android:fullBright">@drawable/[...]</item> <item name="android:topBright">@drawable/[...]</item> <item name="android:centerBright">@drawable/[...]</item> <item name="android:bottomBright">@drawable/[...]</item> <item name="android:bottomMedium">@drawable/[...]</item> <item name="android:centerMedium">@drawable/[...]</item> </style> 

नए एंड्रॉइड संस्करणों में एंड्रॉइड भी है: प्रगति लेआउट और एंड्रॉइड: अलर्ट डीआलाओग शैली के लिए क्षैतिज प्रगति लेआउट विशेषताएँ

इसके अलावा, नए एंड्रॉइड संस्करणों में, अलर्ट डीआलाओग थीम को एक कस्टम थीम में अलर्ट डीआलोग स्टाइल के बजाय अलर्ट डीआईएलओघथीम का उपयोग करके संभव है। AlertDDialogThemes windowBackground, windowTitleStyle आदि जैसे अधिक परिचित और अधिक शक्तिशाली विशेषताओं का समर्थन करते हैं। Styles.xml और themes.xml पर एक नज़र डालें।

दुर्भाग्यवश, सुपर गरीब होने पर उस सुविधा का दस्तावेज जोड़ा गया था। कृपया अपने आप को खोजने के लिए whcih दृष्टिकोण आपके लिए सबसे अच्छा है

प्रलेखन से यह दिखता है कि आप ऐसा कर सकते हैं क्रेट डिआलिग में।

 FrameLayout fl = (FrameLayout) findViewById(android.R.id.custom); fl.setBackgroundResource(); // has to be a drawable. 

केवल अन्य समाधान उस थीम का उपयोग करके एक कस्टम संवाद है