2010-03-06 20 views
17

मैं संवाद से प्राप्त कक्षा बना रहा हूं। संवाद का शीर्षक पट्टी वास्तव में अच्छा लग रहा है, यह एक गहरा भूरा रंग है जो कुछ हद तक पारदर्शी है। क्या टाइटलबार की पृष्ठभूमि के लिए इस्तेमाल रंग सेट करने का कोई तरीका है? ग्रे शांत है, लेकिन मैं इसे कुछ कस्टम रंग में सेट करना चाहता हूं। मुझे नहीं लगता कि यह संभव है, मुझे लगता है कि मुझे अपने खुद के खिंचाव पृष्ठभूमि संवाद संसाधन की आपूर्ति करने की आवश्यकता होगी। क्या वह सही है?संवाद टाइटलबार के लिए पृष्ठभूमि रंग सेट करें?

धन्यवाद

+0

यह आपके लिए उपयोगी है: http://stackoverflow.com/a/15285514/1318946 –

+0

@PratikButani। मुझे लगता है कि उसने पृष्ठभूमि के लिए पूछा .. शीर्षक के टेक्स्ट रंग नहीं .. – Abhi

उत्तर

1

आप उपयोग कर सकते हैं:

this.getWindow().setBackgroundDrawableResource(R.color.blue); 

कि शीर्षक पट्टी सहित पूरे खिड़की रंग सेट हो जाएगा।

फिर आप संवाद के लेआउट के लिए पृष्ठभूमि रंग बदल सकते हैं, जो कुछ भी है, लेकिन टाइटलबार जो कुछ भी आपको पसंद है और शीर्षक पट्टी नीली रहेगी।

+1

दुर्भाग्यवश यह उत्तर काम नहीं करेगा, यह संवाद बॉक्स को प्रभावित नहीं करता है। मैंने टाइटल बार पृष्ठभूमि को बदलने के कई अलग-अलग तरीकों की कोशिश की है और कुछ भी काम नहीं किया है। कोई अन्य सुझाव। –

+0

यह ऐप को क्रैश करता है – Pam

1

कस्टम संवाद का उपयोग करने का सबसे अच्छा तरीका है जहां आप इसके स्वरूप को अनुकूलित कर सकते हैं।

Set AlertBox Title Bar Background Color और इस http://developer.android.com/guide/topics/ui/dialogs.html पर एक नज़र डालें, इसके बारे में कैसे जाना है।

13

नीचे कोड का उपयोग करें:

final Dialog mailDialog = new Dialog(MainActivity.this); 
mailDialog.getWindow().setBackgroundDrawableResource(R.drawable.dialog_box); 

और नीचे के रूप में drawable फ़ोल्डर में एक कस्टम संवाद बॉक्स एक्सएमएल बनाने के लिए:

dialog_box.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <corners 
     android:bottomLeftRadius="5dp" 
     android:bottomRightRadius="5dp" 
     android:topLeftRadius="5dp" 
     android:topRightRadius="5dp" /> 

    <gradient 
     android:angle="-90" 
     android:centerColor="#660D1E4A" 
     android:endColor="#66011444" 
     android:startColor="#66505E7F" 
     android:type="linear" 
     /> 

    <stroke 
     android:dashGap="0dp" 
     android:dashWidth="0dp" 
     android:width="1dp" 
     android:color="#ffffffff" /> 

</shape> 

आशा यह आप में मदद करता है।

int titleLayoutId = dialog.getContext().getResources(). 
    getIdentifier("topPanel", "id", "android"); 

    LinearLayout layout = (LinearLayout) dialog.findViewById(titleLayoutId); 
    if (layout != null) { 
     layout.setBackgroundColor(yourColor); 
    } 

यह एक कस्टम लेआउट बनाने के लिए की आवश्यकता समाप्त:

+0

यह पूरे संवाद रंग को बदल देता है। –

1
dialog = new Dialog(this); // your dialog 
dialog.getWindow().setTitleColor(R.color.blue_background); 
+0

विंडो के अंदर एक नज़र डालें। जावा: '@ डेपरेटेड सार्वजनिक सार शून्य सेटटाइटलर (int textcolor);' – StAlex

0

शीर्षक खंड की पृष्ठभूमि का रंग आसानी से इस तरह से सेट किया जा सकता।

0
dialog.getWindow().setTitleColor(getResources().getColor(R.color.blue)); 
संबंधित मुद्दे