কীভাবে পূর্ণ স্ক্রিনে ডায়ালগ সেট করবেন? [বন্ধ]


129

আমার গ্রিডভিউ রয়েছে এবং আমি একটি কথোপকথন তৈরি করতে চাই, যার উপরে আমি যে ছবিটি নির্বাচন করেছি তা পূর্ণ পর্দায় প্রদর্শিত হবে।

তাহলে আমি কীভাবে একটি পূর্ণ স্ক্রিন মোডে ডায়ালগটি প্রদর্শন করতে পারি? ধন্যবাদ!


2
আপনি যদি একটি সম্পূর্ণ স্ক্রিন ব্যবহার করতে চান তবে Dialogকেন কেবল ACTION_VIEW Intentচিত্র ফাইলগুলির জন্য ডিফল্ট ব্যবহার করবেন না ?
টেট হবে

দুঃখিত, আমি প্রায় সম্পূর্ণ পর্দা বা পূর্ণ চিত্র বলতে চাইছি
user790156

3
উইলিটেটের উত্তরের সাথে যদি আপনার ডায়লগ করতে হয় তবে android.R.style.Theme_Translucent_NitTitleBar_
ফুলস্ক্রিন


3
@ মার্টিনপেফার আমার কাছে ভবিষ্যতের ব্যবহারকারীদের জন্য একটি পরামর্শও রয়েছে তবে প্রশ্নটি বন্ধ অ্যান্ড্রু বার্বার অ্যান্ড্রয়েড সম্প্রদায়ের নয়। এটি সত্যই একটি সহজ প্রশ্ন নতুন অ্যান্ড্রয়েড বিকাশকারীরা সর্বদা এটি সম্পর্কে আগ্রহী। এই উত্তরটি আরও ভাল উত্তর এবং ভবিষ্যতের ব্যবহারকারীদের জন্য আবার খোলা উচিত
অভিষেক সিং

উত্তর:


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
@ লুইসএ.ফ্লোরিট থিম_ব্ল্যাক_নোটিটলবার_ফুলস্ক্রিন চেষ্টা করুন
ফিলিপ

21
টাইটেলবারের সাথে ফুলস্ক্রিন সম্পর্কে কী?
সীমান্ত 21

1
আমি যখন এটি করি (ব্যবহার করে DialogFragment) দেখি স্ট্যাটাস বারের রঙটি ডায়ালগ দ্বারা নিহত হয়, তখন পুরো পর্দাটি ডায়ালগের পটভূমির রঙ। কেউ কি কাজের কথা জানে? আমি ডায়ালগের উইন্ডোটির স্ট্যাটাস বার কালার সেট করার চেষ্টা করেছি, কোনও ফল হয়নি। পিএস: নেভিগেশন বারের রঙটিও মারা গেছে।
অ্যান্ড্রয়েডজি

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
গ্রেট। পুরোপুরি কাজ করে
জেভেনিজ কনোনভ

এটি নিখুঁত! গ্রহণযোগ্য সমাধান হওয়া উচিত।
আমেয়াবি

ব্যাকগ্রাউন্ডের রঙ বদলাতে পারে না, এখনও কালো
জেমশিত ইস্কেন্দরভ

42

সম্পাদনা করুন স্ট্যাকওভারফ্লো হিসাবে এই সময়ের জন্য আমাদের উত্তরগুলি সংস্করণ করতে দেয়, এটি এমন একটি উত্তর যা অ্যান্ড্রয়েড 3 এবং এর নীচে কাজ করে। দয়া করে এটিকে ডাউনভোট করবেন না কারণ এটি এখন আপনার জন্য কাজ করছে না, কারণ এটি অবশ্যই পুরানো অ্যান্ড্রয়েড সংস্করণগুলির সাথে কাজ করে।


আপনার 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
ওয়েল, এটি বলা শক্ত - আপনি কি লেআউটপ্যারামগুলি আমদানি করেছেন? আপনার লেআউটটি এক্সএমএল কি ফিল-প্যারেন্ট বা ম্যাচ_প্যারেন্টকে সেট করে?
ক্যাস্পার হারমার

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 আমার পক্ষে কাজ করেছে।
রায়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.