অ্যাপকম্প্যাট জন্য পূর্ণ স্ক্রিন থিম


304

আমি জানতে চাই কীভাবে আমি কোনও ক্রিয়াকলাপে পুরো স্ক্রিন থিম (কোনও শিরোনাম বার + কোনও অ্যাকশনবার নেই) প্রয়োগ করতে পারি। আমি সমর্থন প্যাকেজ ভি 7 থেকে অ্যাপকম্প্যাট লাইব্রেরি ব্যবহার করছি।

আমি android:theme="@android:style/Theme.NoTitleBar.Fullscreen"আমার নির্দিষ্ট কার্যকলাপে প্রয়োগ করার চেষ্টা করেছি কিন্তু এটি ক্র্যাশ হয়ে গেছে। আমি মনে করি এটি কারণ আমার অ্যাপ্লিকেশন থিমটি এর মতো।

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

আমিও এটি চেষ্টা করেছি

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

যা কেবল শিরোনাম বারটি লুকায় কিন্তু অ্যাকশন বারকে নয়। আমার বর্তমান কাজটি হ'ল এটির সাথে অ্যাকশনবারটি লুকানো

getSupportActionBar().hide();

উত্তর:


836

আপনি যখন আপনার অ্যাপ্লিকেশনটিতে থিম.এপকম্প্যাট ব্যবহার করেন আপনি স্টাইলগুলিতে নীচের কোডটি যুক্ত করে ফুলস্ক্রিনটেম ব্যবহার করতে পারেন।

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

এবং আপনার মেনিফেস্ট ফাইলটিতে উল্লেখ করুন mention

<activity
   android:name=".activities.FullViewActivity"
   android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" 
/>

67
পিতা বা মাতা শৈলী "Theme.AppCompat.Light.NoActionBar" হওয়া উচিত
উপর কার্সার রেখে দেখুন Ruan

3
আসলে, এটি শৈলীর এক্সএমএল ফাইলটিতে যুক্ত করার জন্য এটি যথেষ্ট: <আইটেমের নাম = "অ্যান্ড্রয়েড: উইন্ডো ফুলস্ক্রিন"> সত্য </ i> অ্যাকশন বার (শিরোনাম দণ্ড) দৃশ্যমানতা রানটাইমের সময় .hide / .show পদ্ধতি ব্যবহার করে পৃথকভাবে নিয়ন্ত্রণ করা যায়।
আমিন

2
FEATURE_NO_TITLE সম্মানিত হচ্ছিল না। পার্থক্যটি হ'ল না, তবে শেষ পর্যন্ত আমি অ্যাপকম্প্যাটএকটিভিটির পরিবর্তে ক্রিয়াকলাপ বাড়ানোর জন্য আমার ক্রিয়াকলাপটি পরিবর্তন করেছি এবং আমার একই কোডটি কাজ করেছে (কৃতজ্ঞতার সাথে আমার অ্যাপকম্প্যাট লাগবে না): this.requestWindowFeature (উইন্ডো.এফইএটিচার_এনওআরএল); getWindow ()। getDecorView ()। setSystemUiVisibility (View.SYSTEM_UI_FLAG_LAYOUT_STABLE | দেখুন। SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | দেখুন.SYSTEM_UI_FLAG_LAYOUGHI_8VIVATION_IVIGATION | ভিআইজিআইভিএইচআইভিএইচআইএনএইচআইজি!
ব্যবহারকারীর 888867

এটি স্ট্যাটাস
বারটিও

3
আমি যোগ হবে hideNavigation()onResume()- যে করেই ন্যাভিগেশন বার এখনও আমার অ্যাপ্লিকেশন (API 18+) দৃশ্যমান ছিল
Antek

69

@ নিউবাইনের উত্তরের ভিত্তিতে, আমি দেখতে পেয়েছি যে অ্যাকশন বারটি এখনও লুকিয়ে নেই।

নিম্নলিখিত কোডটি আমার পক্ষে কাজ করে:

<style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

এবং অবশ্যই আপনার AndroidManifestফাইল সম্পাদনা করতে ভুলে যান না ।

<activity
    android:name="YOUR_ACTIVITY_NAME"
    android:theme="@style/AppFullScreenTheme" 
/>

@ নিউবাইয়ান কেন আপনার সমাধান কাজ করে না, এবং এটি আমার জন্য কাজ করে? কারণ কি?
আহমেট

1
<item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item>আপনার থিমটি অন্তর্ভুক্ত করে থাকলে সেট করার দরকার নেই.NoActionBar
user924

19
<style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
</style>

স্টাইল.এক্সএমএলে উপরের এক্সএমএলটি ব্যবহার করে, আপনি শিরোনামটি পাশাপাশি অ্যাকশন বারটিও আড়াল করতে সক্ষম হবেন।


12

অ্যান্ড্রয়েড 4.0.০ (এপিআই স্তর ১৪) এর সংস্করণগুলির আগে এবং পরে সমস্যাগুলি দেখা দেয়।

থেকে এখানে আমি আমার নিজের সমাধান তৈরি করা হয়েছে।

@SuppressLint("NewApi")
@Override
protected void onResume()
{
    super.onResume();

    if (Build.VERSION.SDK_INT < 16)
    {
        // Hide the status bar
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // Hide the action bar
        getSupportActionBar().hide();
    }
    else
    {
        // Hide the status bar
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
        / Hide the action bar
        getActionBar().hide();
    }
}

আমি এই কোডটিকে অনারিউম () পদ্ধতিতে লিখছি কারণ আপনি যদি নিজের অ্যাপ থেকে প্রস্থান করেন এবং আপনি আবার এটি খুলেন, অ্যাকশন বারটি সক্রিয় থাকবে! (এবং তাই এটি সমস্যার সমাধান করুন)

আমি আশা করি এটি সহায়ক ছিল;)


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

7

আপনার "ওয়ার্কআরাউন্ড" (অ্যাকশনবারকে নিজেই লুকিয়ে রাখা) হ'ল সাধারণ উপায়। তবে শিরোনামবারটি যখন লুকানো থাকে তখন গুগল অ্যাকশনবারকে সর্বদা আড়াল করার জন্য পুনরায় সুপারিশ করে। এখানে একবার দেখুন: https://developer.android.com/training/system-ui/status.html


7
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //to remove "information bar" above the action bar
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    //to remove the action bar (title bar)
    getSupportActionBar().hide();
}

5

আপনি নীচের পদক্ষেপটি অনুসরণ করতে পারেন: -

AndoridMenifest.xml

<activity
            android:name=".ui.FullImageActivity"
            android:label="@string/title_activity_main"
            android:screenOrientation="landscape"
            android:theme="@style/DialogTheme">
        </activity>

Style.xml

<style name="DialogTheme" parent="android:Theme.Dialog">

    <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:windowNoTitle">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowIsFloating">false</item>
</style>

FullImageActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    setContentView(R.layout.image_view);
     }

আমি আশা করি এটি সাহায্য করবে .. ধন্যবাদ !!


4

এটি প্যারেন্ট = "@ শৈলী / থিম। অ্যাপকম্প্যাট.লাইট.নো অ্যাকশনবার" হওয়া উচিত

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" 
parent="@style/Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

কেবলমাত্র এই সমাধানটি শিরোনাম বারটি গোপন করে এবং এটি সম্পূর্ণ পর্দা করে। সঠিক সমাধান হিসাবে চিহ্নিত করা উচিত। ধন্যবাদ!
ডার্কো মাক্সিমোভিক

3

স্থিতি দণ্ড এবং অ্যাকশন বার উভয়কে আড়াল করতে এবং আপনার ক্রিয়াকলাপটি সম্পূর্ণ স্ক্রিনটিকে আপনার ক্রিয়াকলাপ onResume()বা onWindowFocusChanged()পদ্ধতিতে নিম্নলিখিত কোডটি ব্যবহার করতে :

@Override
protected void onResume() {
    super.onResume();
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN);
}

আপনি নিম্নলিখিত লিঙ্কগুলিতে আরও তথ্য পেতে পারেন:

দ্রষ্টব্য: এই থ্রেডে সরবরাহিত এক্সএমএল সমাধানগুলি ব্যবহার করে আমি কেবল স্থিতি বারটি আড়াল করতে পারি তবে নেভিগেশন বারটি নয়।


1
আপনাকে ধন্যবাদ, এটিই কেবল নেভিগেশন বারটি আড়াল করছেন! উচ্চভাবে এই উত্তর সুপারিশ।
মহারকুস


2

এই থিমটি কেবল এপিআই 21 এর পরে কাজ করে (অন্তর্ভুক্ত)। এবং স্ট্যাটাসবার এবং নেভিগেশনবার উভয়কেই স্বচ্ছ করুন।

<style name="TransparentAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <item name="windowActionBar">false</item>
  <item name="windowNoTitle">true</item>
  <item name="android:statusBarColor">@android:color/transparent</item>
  <item name="android:windowBackground">@android:color/transparent</item>
  <item name="android:navigationBarColor">@android:color/transparent</item>
  <item name="android:windowIsTranslucent">true</item>
  <item name="android:windowContentOverlay">@null</item>
</style>

1

অ্যাপকম্পটে শিরোনাম বারটি সরাতে:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

1

আপনি নিম্নলিখিত চেষ্টা করতে পারেন :

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:windowFullscreen">true</item>
</style>

0
<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>


1
দয়া করে কোডটিও ব্যাখ্যা করুন, যদি আপনি এটি সরবরাহ করেন তবে এটি আপনার কোড বুঝতে সহায়তা করে এবং ভবিষ্যতের সমস্যার জন্য অন্তর্দৃষ্টি অর্জনে সহায়তা করতে পারে।
লেপিডোপটারন

0

শুধু এটা ?

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen">
    <item name="android:windowFullscreen">true</item>
</style>

0

আপনার ছেলের সাথে কেবল এই লোকদের কাছে:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item> </style>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.