मैं एक कस्टम संवाद के आकार पाने के लिए एक रास्ता तलाश रहा हूँ। मैं this प्रश्न के माध्यम से गया, लेकिन दिया गया एकमात्र उत्तर बहुत बेकार है, क्योंकि अगर मैं mDialog.getWindow().getAttributes().height;
का प्रयास करता हूं तो यह केवल 2 देता है, जो WRAP_CONTENT
विशेषता के लिए स्थिर है जो मैंने संवाद में सेट किया है। मैं इसका आकार कैसे प्राप्त कर सकता हूं। मैं पृष्ठभूमि छवि के लिए siye जानना चाहता हूँ।संवाद आकार कैसे प्राप्त करें?
उत्तर
वास्तव में, एंड्रॉयड में यह आईओएस में की तरह काम नहीं करता है - आप View
खुद के आकार नहीं मिल सकता है, तो आप क्या कर सकते हैं, हालांकि, इस बात का जड़ लेआउट के आकार के लिए पूछना है राय।
उदा .:
myDialog.this.findViewById(R.id.dialog_root_layout).getHeight());
इसे आज़मा कर देखें:
mDialog.getWindow().getDecorView().getHeight()
महान काम वास्तव में अच्छी तरह से, माइकल का जवाब मेरे मामले के लिए बेहतर है हालांकि। – slezadav
@ KorniltsevAnatoly: यह मेरे लिए काम नहीं करता है। मुझे 0. –
@ ओवरराइड सार्वजनिक शून्य पर विन्डोफोकस चेंज (बूलियन हैफोकस) { super.onWindowFocusChanged (हैसोकस); // यहां कॉल करें } –
@Kormilsev अनातोलीय सही उत्तर दिया है और मैं बस में सुधार कर रहा हूँ।
@Override
public void onWindowFocusChanged (boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
hight = getWindow().getDecorView().getHeight();
}
और इस घटना को AlertDialog के लिए कैसे सेट करें ?? – user924
यह 'alertDialog.setOnShowListener (नया DialogInterface.OnShowListener()' – user924
काम करेगा हाँ। यह ज्यादातर अलर्टडियलॉग का उपयोग करने का निर्णय है। – CodeToLife
क्या संवाद वास्तव में आप प्रयोग करते हैं: तो वर्ग आप संवाद वर्ग से विरासत में सिर्फ विधि ओवरराइड? –
पब्लिक क्लास कंट्रोलऑवरले संवाद को बढ़ाता है, तो बस डायलॉग – slezadav