2012-01-12 15 views
20

से, सीमा हटाने गद्दी मैं एक गतिविधि है जो विषय Theme.Transparent जो है के साथ है:संवाद

<style name="Theme.Transparent" parent="android:Theme.Dialog"> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowNoTitle">false</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:backgroundDimEnabled">false</item> 
    <item name="android:gravity">top</item> 
</style> 

मैं सीमा और उसके आसपास गद्दी से छुटकारा पाने की कोशिश कर रहा हूँ .. मैं चाहता हूँ स्क्रीन के क्षैतिज को भरने के लिए। और कोई ग्रे सीमा नहीं। कृपया मदद :) enter image description here

उत्तर

71

अपने संवाद आपकी कस्टम थीम संदर्भित बनाने के लिए सुनिश्चित करें:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyDialogTheme" parent="android:Theme.Dialog"> 
     <!-- Fill the screen --> 
     <item name="android:layout_width">fill_parent</item> 
     <item name="android:layout_height">fill_parent</item> 

     <!-- No backgrounds, titles or window float --> 
     <item name="android:windowBackground">@null</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowIsFloating">false</item>  

     <!-- Just to prove it's working --> 
     <item name="android:background">#ff0000</item> 
    </style> 

</resources> 
+0

धन्यवाद! :) <आइटम का नाम = "एंड्रॉइड: विंडोबैकग्राउंड"> @ शून्य चाल चल रही थी! मैं केवल 17 घंटों में बक्षीस का पुरस्कार दे सकता हूं। लेकिन मैं करूँगा। बहुत बहुत धन्यवाद। – Guy

+0

मदद करने के लिए खुश; आश्चर्यचकित किसी और ने इसका उत्तर नहीं दिया था। यह निश्चित रूप से स्पष्ट नहीं है, लेकिन github पर एंड्रॉइड स्रोत की जांच करने से यह पता चल सकता है कि डिफ़ॉल्ट रूप से क्या हो रहा है! –

+0

मेरी इच्छा है कि मैं इसे दो बार बढ़ा सकता हूं। झुकाव पर ध्यान दें: खिड़की को बाहर निकालना फ्लैश प्रदर्शित करने के लिए संवाद प्राप्त करने का एकमात्र तरीका है - यानी इसके पीछे दृश्य का कोई संकेत नहीं है। डेविड, तुम चट्टान। – HappyKatz

11
:

Dialog dialog = new Dialog(this, R.style.MyDialogTheme); 

आपका कस्टम विषय स्क्रीन को भरने और Android framework defaults के एक जोड़े को निष्क्रिय करने की जरूरत है

उपरोक्त के समान है लेकिन xml की बजाय कोड में इसे करने के लिए मेरे लिए काम किया है।

getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
+0

के लिए @ डेविड कैंट सर धन्यवाद, मैंने पाया कि इस तरह स्वीकार्य उत्तर के रूप में अच्छा काम नहीं करता है। इस तरह बस संवाद के चारों ओर किसी भी पैडिंग फीका लेकिन वास्तव में पैडिंग को हटा नहीं है। यह एक समस्या है जब उपयोगकर्ता इसे रद्द करने के लिए संवाद के चारों ओर क्लिक करता है लेकिन इसे रद्द नहीं किया जाएगा क्योंकि पैडिंग अभी भी पारदर्शी है लेकिन पारदर्शी है। –

+0

बहुत बहुत धन्यवाद! यह मेरे लिए काम करता है! – mghhgm

+0

ग्रेट। धन्यवाद आदमी – FaisalAhmed

5

पैरेंट कंटेनर से मेल खाने के लिए चौड़ाई और ऊंचाई सेट करें।

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    WindowManager.LayoutParams wmlp = dialog.getWindow() 
      .getAttributes(); 
    wmlp.width = android.view.WindowManager.LayoutParams.MATCH_PARENT; 
    wmlp.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT; 
+0

बिल्कुल सही, उत्तर! :) –

संबंधित मुद्दे