मेरे पास एक मुख्य गतिविधि है जहां उपयोगकर्ता पृष्ठभूमि रंग को अपने पसंदीदा रंग में बदल सकते हैं। मेरी समस्या यह है कि मैं किसी भी कस्टम संवाद के पृष्ठभूमि रंग को नहीं बदल सकता।प्रोग्राम पृष्ठभूमि के रूप में संवाद पृष्ठभूमि रंग कैसे बदलें?
ढेर अतिप्रवाह में अन्य उत्तर सुझाव देते हैं:
(क) पसंदीदा रंग के overiding the default theme। मुझे नहीं लगता कि इस मामले में एक उपयुक्त समाधान है क्योंकि मुझे पता है कि रन टाइम पर थीम बदलना अनुशंसित नहीं है।
(ख) Changing in styles.xml (इस मामले में उपयुक्त नहीं मैं रन टाइम पर नहीं बदल सकते हैं के रूप में)
(ग) Overriding the AlertBuilder class (लेकिन इस पूरे चेतावनी संवाद टिंट करता)
यह निकटतम मैं आ गए हैं रंग बदलने के लिए अलर्ट बिल्डर शीर्षक को हटा रहा है, और पसंदीदा दृश्य की पृष्ठभूमि को पसंदीदा रंग (eg.pink) में सेट करना है। दुर्भाग्यवश यह संवाद के ऊपर और नीचे एक बदसूरत पट्टी देता है।
कोड छवि के बाद कोड शामिल है, संवाद पृष्ठभूमि को बदलने के तरीके के बारे में सुझावों की बहुत सराहना की जाएगी।
कस्टम संवाद विचारों पृष्ठभूमि रंग बदलने के लिए डिफ़ॉल्ट उपस्थिति
protected Dialog onCreateDialog(int dialogId) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
final View viewMessEdit = inflater.inflate(R.layout.example,(ViewGroup) findViewById(R.id.dialog_mess_edit_root));
builder.setView(viewMessEdit);
builder.setTitle("Alert builder's title");
}
कोड के लिए कोड (और चेतावनी बिल्डर के शीर्षक निकाल दिया जाता है)
protected Dialog onCreateDialog(int dialogId) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
final View viewMessEdit = inflater.inflate(R.layout.example,(ViewGroup) findViewById(R.id.dialog_mess_edit_root));
builder.setView(viewMessEdit);
viewMessEdit.setBackgroundResource(R.color.pink_dark);
}
क्या आप इस तस्वीर को अपनी तस्वीर के रूप में पूरा कर सकते हैं? यदि हां, तो क्या आप साझा कर सकते हैं? – pengwang