কীভাবে অ্যাকশন বার স্থায়ীভাবে অক্ষম করবেন


138

আমি এই কোডটি ব্যবহার করে মধুচক্রে অ্যাকশন বারটি আড়াল করতে পারি:

getActionBar().hide();

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


2
উত্তরটি খুঁজে পেয়েছে এইচএইচ <ক্রিয়াকলাপ অ্যান্ড্রয়েড: থিম = "@ অ্যান্ড্রয়েড: শৈলী / থিম.নোটাইটেলবার.ফুলস্ক্রিন" ....>
বিজি

1
এটি অ্যাকশন বার নয় যখন আপনি অনুলিপি করার চেষ্টা করবেন, এর ডিফল্ট ভিউটি পেস্ট করুন।
পদ্ম কুমার

হ্যাঁ, তবে অনুলিপি পেস্ট শেষ হওয়ার পরে এটি এখনও
নিখোঁজ

getSupportActionBar () লুকান ()।
আমেয়া সালাগ্রে

উত্তর:


251

যদি আপনি ব্যবহার করছেন Theme.Holo.Lightএবং Theme.Holo.Light.NoActionBarপ্রাক 3.2 ডিভাইসে ভেরিয়েন্টটি ব্যবহার করতে চান তবে আপনি এটিতে যুক্ত করতে পারেন styles.xml:

<style name="NoActionBar" parent="@android:style/Theme.Holo.Light">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style> 

এবং তারপরে এটি আপনার ক্রিয়াকলাপের থিম হিসাবে সেট করুন:

<activity android:theme="@style/NoActionBar" ... />

8
এটা সঠিক উত্তর. @ বিজির সমাধানের মতো কাস্টম থিসিং সরিয়ে দেয় না।
ফ্রেইকহেড

1
বিজ্ঞপ্তি বারটি লুকানোর জন্য অতিরিক্ত পতাকাটি কী হবে তা কোনও ধারণা?
jesses.co.tt

1
আমি অ্যাকশনবার্টিভিটির পরিবর্তে ফ্রেগমেন্টএকটিভিটি থেকে উত্তরাধিকার সূত্রে প্রয়োজনীয়ও পেয়েছি।
মেনম্যান

4
@ jesses.co.tt বিজ্ঞপ্তি বারটি ব্যবহার করে সরিয়ে ফেলা যাবে<item name="android:windowFullscreen">true</item>
মাইক ব্যাকস্টার

এটি আমার পক্ষে কাজ করে না। নিম্নলিখিতগুলি ব্যবহার করেছেন: স্ট্যাকওভারফ্লো.com
ক্রিস্টোফার স্মিট

116

ম্যানিফেস্টে ক্রিয়াকলাপের থিম সেট করে,

<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>

এটি এটি করার একমাত্র সঠিক উপায় বলে মনে হচ্ছে। ESP। আপনি যদি নীচে একটি সম্পর্কিত সম্পর্ক আছে ...
jcfrei

1
দুর্ভাগ্যক্রমে, আমি একমাত্র কাজটি পেতে পারি। এটি কাস্টম থেসিং সরিয়ে দেয়, তবে এটি সত্যই একমাত্র জিনিস যা ActionBarআমার জন্য সম্পূর্ণরূপে সরিয়ে দেয় ।
RileyE

3
নতুন এডিটিতে অ্যাপকম্প্যাট থিম প্রয়োগের সাথে এটি কাজ করে না। আমি এর সাথে লড়াই করে ভাবি না - AppCompat থেকে সম্পূর্ণ দূরে সরিয়ে নেওয়া চেষ্টা করা ভাল সমাধানও! আমি @ মনচোটের পদ্ধতির চেষ্টা করেছি এবং এটি আমার পক্ষে কাজ করে
এরিকান

এই হওয়া উচিত <কার্যকলাপ android: থিম = "@ অ্যানড্রইড: শৈলী / Theme.NoTitleBar"> পরিবর্তে <কার্যকলাপ android: থিম = "@ অ্যানড্রইড: শৈলী / Theme.NoTitleBar.Fullscreen">
Amandeep Rohila


34

আমি আমার অনক্রিট ক্রিয়াকলাপের মধ্যে নিম্নলিখিত কোড ব্যবহার করি:

ActionBar actionBar = getSupportActionBar();
actionBar.hide();

উত্স: https://developer.android.com/guide/topics/ui/actionbar.html


1
উত্সটি 2019 সালের হিসাবে পুরানো বলে মনে হচ্ছে Up আপ টু ডেট উত্স: ডেভেলপার.অ্যান্ড্রয়েড
ট্রেনিং

30
<application
    .
    .
    android:theme="@android:style/Theme.Holo.Light.NoActionBar"
    . >

সম্ভবত এটি আপনাকে সাহায্য করবে


3
নোট করুন যে এই পদ্ধতিটির জন্য এপিআই স্তরের 13 ন্যূনতম প্রয়োজন
ওলুমাইড

23

অ্যান্ড্রয়েড স্টুডিওর ডিফল্ট উত্পন্ন ক্রিয়াকলাপের সুপারক্লাস ActionBarActivityএবং তারপরে, অন্যান্য প্রতিক্রিয়াগুলির সমাধানের কোনওটিই কাজ করে না। সমাধানের জন্য কেবল সুপারক্লাস পরিবর্তন করুন:

public class xxxActivity extends ActionBarActivity{

প্রতি:

public class xxxActivity extends Activity {

এটা আমার জন্য এটি। আপনার সাহায্যের জন্য ধন্যবাদ.
j_fulch

17

আপনি যদি অ্যাকশনবার এবং শিরোনাম ছাড়াই পূর্ণ পর্দা পেতে চান।

এটি স্টাইল.এক্সএমএল এ যুক্ত করুন

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

এবং ম্যানিফেস্ট.এক্সএমএল স্টাইলটি ব্যবহার করুন।

android:theme="@style/AppTheme.NoActionBar" 

12

কাস্টম থিমগুলি এবং কোনও অ্যাকশন বার দেওয়ার মতো সেরা উপায়টি আমি খুঁজে পেয়েছি তা হল আমার প্রকল্পের সমস্ত ক্রিয়াকলাপের জন্য একটি সুপারক্লাস তৈরি করা এবং এটি অনক্রিয়েট () এ নিম্নলিখিত কোডের লাইনটি কল করুন -

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

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




7

আপনি অ্যাকশন বারটি কেবল লুকিয়ে রাখতে বাধ্য করতে পারেন:

ActionBar  actionbar = getSupportActionBar();
actionBar.hide();

কেবল আপনার ডিফল্ট থিমটি ব্যবহার করুন।


7

আপনি যদি কোনও অ্যাকশন বার সহ একটি থিম চান তবে আপনি উদাহরণস্বরূপ 'NoActionBar' রূপটি ব্যবহার করতে পারেন। যদি আপনার বেস থিমটি নীচে থাকে

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

তাহলে আপনি ব্যবহার করতে পারেন

<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

তবে আপনি যদি আপনার মূল থিমের বৈশিষ্ট্যগুলি ধরে রাখতে চান তবে অ্যাপ থিম আপনি নীচের মতো করতে পারেন

<style name="AppThemeNoActionBar" parent="AppTheme">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

আপনি আপনার বেস থিমের সমস্ত বৈশিষ্ট্য এইভাবে ধরে রাখতে পারেন এবং এগুলিকে আপনার NoActionBar থিমে স্পষ্টভাবে যুক্ত করতে হবে না :)


6

হলো থিমটি ব্যবহার করবেন না এবং অ্যাকশনবার অদৃশ্য হয়ে যাবে। এই কোডটি API 8+ এ আমার জন্য লাইব ভি 7 সমর্থন করে কাজ করছে:

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

আপনার ক্রিয়াকলাপের জন্য সেই থিমটি সেট করুন:

<activity android:theme="@style/NoActionBar" ... />

এবং আপনার ক্রিয়াকলাপ ক্লাসে।

এটি অ্যাকশনবার্টিভিটি প্রসারিত করার পরেও এটি কাজ করে।


6

পুনরায় -> মান -> শৈলী.এক্সএমএল এর অধীনে

পরিবর্তন

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

প্রতি

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


5

একটি দ্রুত সমাধান এখানে।

আপনি শৈলী.এক্সএমএল সন্ধান করেন এবং নীচের মত আপনি বেস অ্যাপ্লিকেশন থিমটি "থিম.অ্যাপকম্প্যাট.নো অ্যাকশনবার" তে পরিবর্তন করেন।

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- Customize your theme here. -->
</style>

3

অ্যাকশন বারটি স্থায়ীভাবে আড়াল করার জন্য নীচের পদক্ষেপগুলি রয়েছে:

  1. অ্যাপ্লিকেশন / পুনরায় / মানগুলি / শৈলীগুলি। Xml খুলুন।
  2. শৈলীর উপাদানটির জন্য অনুসন্ধান করুন যার নাম "অ্যাপথেম"। এর মতো দেখতে হবে <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  3. এখন পিতামাতাকে অন্য কোনও থিমের সাথে প্রতিস্থাপন করুন যার নামে "NoActionBar" রয়েছে।

    ক। ক্রিয়াকলাপ_মাইন.এক্সএমএল এর ডিজাইন ট্যাবে স্যুইচ করে এবং তারপরে ইউআই-এর থিম ড্রপ-ডাউন তালিকায় প্রদত্ত প্রতিটি থিম চেষ্টা করে দেখতে কোনও থিম কীভাবে দেখায় তাও পরীক্ষা করতে পারেন।

  4. আপনার যদি MainActivity প্রসারিত AppCompatActivity , নিশ্চিত করুন আপনি একটি AppCompat থিম ব্যবহার করুন।


3

আপনার onCreateপদ্ধতিতে এই কোডটি আগে টাইপ করুন setContentView:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);

3

আমি এটির পরিবর্তে ডিজাইনার পদ্ধতির পোস্ট করতে চাই, এটি আপনার ব্যবসায়ের যুক্তি থেকে নকশা আলাদা রাখবে:

পদক্ষেপ 1. (রীতি- মানগুলি>> স্টাইলস.এক্সএমএল) এ নতুন শৈলী তৈরি করুন: মূলত এটি আপনার সামগ্রিক স্কিমের অনুলিপি বিভিন্ন পিতা - মাতা = "থিম.অ্যাপকম্প্যাট.লাইট.নোকশনবার" এর সাথে রয়েছে is

<!-- custom application theme. -->
    <style name="MarkitTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
        <item name="colorAccent">@color/colorAccent</item>

        <item name="android:windowNoTitle">true</item>
    </style>

পদক্ষেপ 2: আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএলে, আপনি যে কার্যকলাপটি চান তাতে এই থিমটি যুক্ত করুন: উদাহরণস্বরূপ আমি অ্যাকশন-বার ছাড়াই আমার মূল ক্রিয়াকলাপটি চাই তাই নীচের মত এটি যুক্ত করুন:

<activity android:name=".MainActivity"
            android:theme="@style/MarkitTheme">

এটি অনেক কিছুই চেষ্টা করার পরে আমার জন্য সেরা সমাধান।


2

onCreate ফাংশনে নিম্নলিখিত কোড যুক্ত করুন

ActionBar actionBar = getSupportActionBar();
actionBar.hide();

এবং শুধু android.support.v7.app.ActionBar আমদানি করুন


2

আপনি styles.xmlফাইলটিতে ডিফল্ট থিমের নাম পরিবর্তন করে একটি নতুন থিম তৈরি করেছেন তা নিশ্চিত করুন :

 <style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">

এবং ড্রপ-ডাউন থেকে থিমটি পরিবর্তনের পরিবর্তে main_activity.xmlআপনার থিমটিকে যাকে বলেছিলেন তাতে পরিবর্তন করুন ।


1

অ্যাকশন বারটি সরানোর সময় আপনি ভিউপাগারটি ধরে রাখতে চান যেখানে অন্য একটি আকর্ষণীয় সমাধান হ'ল শো হিসাবে একটি স্টাইল থাকা

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/NoActionBarStyle</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
<style name="NoActionBarStyle" parent="android:Widget.Holo.ActionBar">
    <item name="android:backgroundSplit">@null</item>
    <item name="android:displayOptions"></item>
</style>

অ্যান্ড্রয়েডের বেশিরভাগ ডায়ালার অ্যাপ্লিকেশনগুলি অ্যাকশন বার ছাড়াই ভিউপ্যাজারটি দেখায়।

রেফ: https://github.com/CyanogenMod/android_packages_apps_Dialer


এই সমাধান উপরে একটি সাদা অঞ্চল ছেড়ে।
ফিলিপ এফএমএমবাইল

এই Theme.AppCompat.Light সঙ্গে Android 2.3 তে আমার জন্য কাজ যদি আমি @ শৈলী NoActionBarStyle পিতা বা মাতা পরিবর্তিত / Widget.AppCompat.ActionBar.TabBar (আমি একটি ViewPager ব্যবহার করছি)
TouchBoarder

1

আপনার manifist এ চেষ্টা করুন

 <activity
        android:name=".MainActivity"
        android:theme="@android:style/Theme.Holo.NoActionBar"
        android:label="@string/app_name" >

1
  protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }
    setContentView(R.layout.activity_main);

1

ActionBarঅ্যান্ড্রয়েডে অক্ষম করার দুটি উপায় রয়েছে ।

requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_main); 

1

এটি styles.xmlফাইলটিতে ব্যবহার করুন:


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

0

আমি এই সমাধানটি ব্যবহার করি:

ম্যানিফেস্টে, আপনার ক্রিয়াকলাপের ভিতরে:

android:label="@string/empty_string"

এবং স্ট্রিং.এক্সএমএল:

<string name="empty_string">""</string>

এইভাবে আপনি অ্যাকশনবার (বা সরঞ্জামদণ্ড) শিরোনাম সহ রাখেন, কিন্তু যখন কার্যকলাপ তৈরি করা হয় শিরোনামটি স্বয়ংক্রিয়ভাবে খালি থাকে।


0

আশ্চর্যজনকভাবে যথেষ্ট, নেক্সাস 7.৪.৪.২ (এপিআই ১৯) চলমান এ নির্মাণের সময় এগুলির কোনওটিই আমার পক্ষে কাজ করেনি। বেশিরভাগ অংশে, একটি ফাঁকা ক্রিয়াকলাপ অ্যাপ্লিকেশন তৈরি করার পরে কমপক্ষে অ্যান্ড্রয়েড স্টুডিওর সর্বশেষতম সংস্করণ (১.২.১.১) এর সাথে:

অ্যান্ড্রয়েড থিম = "@ শৈলী / AppTheme"

ক্রিয়াকলাপের উপাদান নয়, অ্যাপ্লিকেশন উপাদানটিতে রয়েছে। যদি আমি উপরের কোডটি সরিয়ে ফেলে বা এটিকে পরিবর্তন করার চেষ্টা করি:

অ্যান্ড্রয়েড থিম = "@ অ্যানড্রইড: শৈলী / Theme.Holo.Light.NoActionBar"

অ্যাপটি চলবে না ... যদি এটি আপনার সাথে ঘটে থাকে তবে কেবল আপনার স্টাইলস.এক্সএমএল ফাইল (রেজোলিউশন মান> স্টাইলস.এক্সএমএল) এ যান এবং এই ব্লকের মতো পিতামাতার শেষের দিকে .NOTitleBar যুক্ত করুন:

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

অ্যান্ড্রয়েডমেনিস্ট ফাইলটিতে কোনও পরিবর্তন প্রয়োজন।


0

আপনার মধ্যে activity_main.xml, আপনি লাইনটি থেকে সেখান থেকে সামঞ্জস্য করতে পারেন:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
.......
    android:theme="@style/Theme.Design.Light.NoActionBar"
.......    
">

কখনও কখনও আপনি যখন এই জাতীয় জিনিস দেখতে পারেন এখানে ক্লিক করুন , আপনি এখান থেকে "noActionBar" থিম নির্বাচন করতে পারেন।

আশা করি আমি আপনাকে সাহায্য করেছি।

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