पूर्ण स्क्रीन में दिखाने के लिए संवाद कैसे सेट करें? [बन्द है]


129

मेरे पास एक GridView है और मैं एक संवाद का एक निहितार्थ बनाना चाहता हूं, जिस पर मैंने जो चित्र चुना है वह पूर्ण स्क्रीन में प्रदर्शित होना चाहिए।

तो मैं पूर्ण स्क्रीन मोड में संवाद कैसे दिखा सकता हूं? धन्यवाद!


2
यदि आप एक पूर्ण स्क्रीन का उपयोग करना चाहते हैं Dialog, तो ACTION_VIEW Intentछवि फ़ाइलों के लिए केवल डिफ़ॉल्ट का उपयोग क्यों न करें?
टेट होगा

क्षमा करें, मेरा मतलब लगभग पूर्ण स्क्रीन या पूर्ण छवि है
user790156

3
संवाद करने के लिए जवाब देने के लिए अगर आपको संवाद करना है तो Android.R.style.Theme_Translucent_NoTitleBar_Fullscreen का उपयोग करें
ingsaurabh

यह हो सकता है मदद stackoverflow.com/a/2700683/1118886
Sheraz अहमद खिलजी

3
@MartinPfeffer में भी भविष्य के उपयोगकर्ता के लिए एक सुझाव है, लेकिन एंड्रॉइड समुदाय से एंड्रयू बबर का सवाल बंद है। यह वास्तव में एक सरल प्रश्न है नए Android डेवलपर्स हमेशा इस बारे में उत्सुक हैं। यह प्रश्न बेहतर उत्तर और भावी उपयोगकर्ताओं के लिए फिर से खुला होना चाहिए
अभिषेक सिंह

जवाबों:


228

प्रयत्न

Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)

29
इसके लिए मुझे काम करने के लिए मुझे android.R.style.Theme_Black_NoTitleBar_Fullscreen
बेन क्लेटन

4
Call requires API level 11
लुइस ए। फ्लोरिट

1
@ लुइस.फ्लोरिट कोशिश करें Theme_Black_NoTitleBar_Fullscreen
फेलिप

21
फुलस्क्रीन किस टाइटल के साथ है?
हीथ बॉर्डर

1
जब मैं ऐसा करता हूं (उपयोग करता DialogFragmentहूं) देखता हूं कि स्टेटस बार का रंग डायलॉग द्वारा मारा गया है, तो पूरी स्क्रीन डायलॉग का बैकग्राउंड कलर है। किसी को भी एक समाधान का पता है? मैंने बिना किसी प्रभाव के, डायलॉग की विंडो का स्टेटबर्कर सेट करने की कोशिश की। पुनश्च: नेविगेशन बार का रंग भी मारा जाता है।
androidguy

83

इस लिंक के आधार पर , सही उत्तर (जो मैंने खुद का परीक्षण किया है) है:

इस कोड को कंस्ट्रक्टर या onCreate()संवाद की विधि में रखें:

getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT);

इसके अलावा, संवाद की शैली को निम्न पर सेट करें:

<style name="full_screen_dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>

यह निर्माणकर्ता के माध्यम से प्राप्त किया जा सकता है, उदाहरण के लिए:

public FullScreenDialog(Context context)
{
  super(context, R.style.full_screen_dialog);
  ...

संपादित करें: उपरोक्त सभी के लिए एक विकल्प android.R.style.Theme के लिए शैली सेट करना होगा और यह बात है।


55

सबसे आसान तरीका मुझे मिला

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        dialog.setContentView(R.layout.frame_help);
        dialog.show();

1
धन्यवाद यह वास्तव में सबसे आसान तरीका था!
कॉमनसेंससकोड

1
एक जादू की तरह काम किया!
लिंक 88

1
महान। पूरी तरह से काम करता है
Jevgenij Kononov

यह पूर्ण है! स्वीकृत समाधान होना चाहिए।
अमेयबी

खिचड़ी भाषा का पृष्ठभूमि रंग, अभी भी काला
Jemshit Iskenderov

42

EDIT ऐसे समय तक जब तक StackOverflow हमें अपना उत्तर देने की अनुमति देता है, यह एक ऐसा उत्तर है जो Android 3 और उसके नीचे काम करता है। कृपया इसे कम न करें क्योंकि यह अब आपके लिए काम नहीं कर रहा है, क्योंकि यह निश्चित रूप से पुराने Android संस्करणों के साथ काम करता है।


आपको अपनी onCreateDialog()विधि में केवल एक पंक्ति जोड़ने की आवश्यकता है :

@Override
protected Dialog onCreateDialog(int id) {
    //all other dialog stuff (which dialog to display)

    //this line is what you need:
    dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    return dialog;
}

1
मैं FLAG_FULLSCREEN का उपयोग क्यों नहीं कर सकता
user790156

2
खैर, यह कहना मुश्किल है - क्या आपने LayoutParams आयात किया है? क्या आपका लेआउट xml fill_parent या match_parent पर सेट है?
कैस्पर हार्मर

12
android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN का उपयोग करें
Derzu

1
एरोर:FLAG_FULLSCREEN cannot be resolved or is not a field
लुइस ए। फ्लोरिट

1
यह संभव है कि यह उत्तर पुराना हो रहा है - यह एंड्रॉइड 4.0 और इसके बाद के संस्करण के लिए काम नहीं कर सकता है।
कैस्पर हार्मर

34
dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.loading_screen);
    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.CENTER;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
    window.setAttributes(wlp);
    dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    dialog.show();

इसे इस्तेमाल करे।


1
MATCH_PARENT ने मेरे लिए काम किया।
रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.