2012-05-02 15 views
14

कंटेनर के केंद्र के रूप में कस्टम संवाद कैसे प्रदर्शित करें?एंड्रॉइड: कंटेनर के केंद्र में कस्टम संवाद प्रदर्शित करें

Dialog customdialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar); 
Window window = customdialog.getWindow(); 
window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
window.setGravity(Gravity.CENTER); 

R.style.Theme_Translucent_NoTitleBar - cutomdialog के लिए सीमा को हटाने के लिए प्रयोग किया जाता है। एक बार जब मैं इस लाइन का उपयोग करता हूं तो संवाद टैबलेट के अपूर्ण कोने पर दिखाई देगा?

क्या कोई मुझे इस मुद्दे को हल करने में मदद कर सकता है?

+0

सीमा को हटाने के लिए कस्टम पृष्ठभूमि बनाएं और इसे ​​@ एंड्रॉइड: रंग/पारदर्शी

उत्तर

37

fill_parent को wrap_content में बदलें। मुझे उम्मीद है कि गतिविधि के कोने पर संवाद दिखाई देगा। यह पूरे लेआउट की जगह लेता है। इसलिए इसे बदलने से आप जो चाहते थे उसे प्राप्त करने में आपकी मदद कर सकते हैं।

Window window = customdialog.getWindow(); 
window.setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
window.setGravity(Gravity.CENTER); 
+1

धन्यवाद में जोड़ें। यह बढ़िया काम करता है। – Kamal

+1

उत्तर को स्वीकार करने और ऊपर उठाने से यह हमें प्रतिष्ठा में सुधार करने में मदद करेगा, इसलिए कृपया इस उत्तर के साथ ऐसा करें @ कमल आपकी मदद करने के लिए खुश है। :-) –

+0

यह मेरे लिए काम करता है ... धन्यवाद इस उपयोग के लिए बहुत कुछ जवाब। – Deepak

8

मैंने इसे संवाद की कस्टम शैली में जोड़ा और यह ठीक काम किया।

<item name="android:layout_gravity">center</item> 

मेरे संवाद की चौड़ाई और ऊंचाई wrap_content पर सेट हैं। ": शैली/Theme.Light @ एंड्रॉयड"

0

मैं कोड के इस टुकड़े के लिए जाना होगा:

 WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 
     Window window = dialog.getWindow(); 
     lp.copyFrom(window.getAttributes()); 
     //This makes the dialog take up the full width 
     lp.width = WindowManager.LayoutParams.MATCH_PARENT; 
     lp.height = WindowManager.LayoutParams.MATCH_PARENT; 
     window.setAttributes(lp); 

कहाँ संवाद, संवाद वस्तु है दिखाया जा सकता है शैली की मूल

माता पिता = है । संवाद के लेआउट के अंदर आप लेआउट के दृश्य को परिभाषित कर सकते हैं जैसा कि आप चाहते हैं: केंद्रित या नहीं।

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