Làm cách nào để ẩn thanh hành động trước khi hoạt động được tạo, và sau đó hiển thị lại?


243

Tôi cần phải thực hiện màn hình giật gân trong ứng dụng tổ ong của mình. Tôi sử dụng mã này trong onCreate của hoạt động để hiển thị giật gân:

setContentView(R.layout.splash);
getActionBar().hide();

và mã này để hiển thị giao diện người dùng chính sau một thời gian:

setContentView(R.layout.main);
getActionBar().show();

Nhưng trước khi onCreate được gọi và xuất hiện giật gân, có một lượng nhỏ thời gian khi thanh hành động được hiển thị.

Làm thế nào tôi có thể làm cho thanh hành động vô hình?

Tôi đã cố gắng áp dụng chủ đề cho hoạt động mà không có thanh hành động:

<item name="android:windowActionBar">false</item>

nhưng trong trường hợp đó getActionBar () luôn trả về null và tôi không tìm thấy cách nào để hiển thị lại.


Để Theme.AppCompat.Light... sử dụng cách này Cách trả lời [1] [1]: stackoverflow.com/a/25365193/1364896
Sami Eltamawy

Câu trả lời:


335

Cài đặt android:windowActionBar="false"thực sự vô hiệu hóa ActionBar nhưng sau đó, như bạn nói, getActionBar();trả về null. Điều này được giải quyết bằng:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    getActionBar().hide();

    setContentView(R.layout.splash); // be sure you call this AFTER requestFeature

Điều này tạo ra ActionBar và ngay lập tức ẩn nó trước khi nó có cơ hội được hiển thị.

Nhưng bây giờ có một vấn đề khác. Sau khi đưa windowActionBar="false"vào chủ đề, Activity sẽ vẽ Tiêu đề cửa sổ bình thường thay vì ActionBar.
Nếu chúng tôi cố gắng tránh điều này bằng cách sử dụng một số *.NoTitleBarchủ đề chứng khoán hoặc chúng tôi cố gắng đưa <item name="android:windowNoTitle">true</item>vào chủ đề của riêng mình, nó sẽ không hoạt động.
Lý do là ActionBar phụ thuộc vào Tiêu đề cửa sổ để hiển thị - đó là ActionBar là Tiêu đề cửa sổ được chuyển đổi.
Vì vậy, mẹo có thể giúp chúng tôi hiểu là thêm một điều nữa vào chủ đề Hoạt động xml của chúng tôi:

<item name="android:windowActionBar">false</item>
<item name="android:windowTitleSize">0dp</item>

Điều này sẽ làm cho Tiêu đề cửa sổ có chiều cao bằng không, do đó thực tế là vô hình.

Trong trường hợp của bạn, sau khi hoàn thành việc hiển thị màn hình giật gân, bạn chỉ cần gọi

setContentView(R.layout.main);
getActionBar().show();

và bạn đã hoàn thành. Hoạt động sẽ bắt đầu mà không nhấp nháy ActionBar, cũng không hiển thị Tiêu đề cửa sổ.

ADDON: Nếu bạn hiển thị và ẩn các ActionBar nhiều lần có thể bạn đã nhận thấy rằng đầu tiên hiển thị là không hoạt hình. Từ đó trở đi hiển thị và ẩn là hoạt hình. Nếu bạn muốn có hoạt hình trong lần đầu tiên hiển thị, bạn có thể sử dụng điều này:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_ACTION_BAR);

    // delaying the hiding of the ActionBar
    Handler h = new Handler();
    h.post(new Runnable() {     
        @Override
        public void run() {
            getActionBar().hide();
        }
    });

Điều tương tự có thể đạt được với:

protected void onPostResume() {
    super.onPostResume();
    getActionBar().hide();

nhưng nó có thể cần một số logic bổ sung để kiểm tra xem đây có phải là lần đầu tiên hiển thị Hoạt động không.

Ý tưởng là trì hoãn một chút việc ẩn ActionBar. Theo cách chúng tôi để ActionBar được hiển thị, nhưng sau đó ẩn nó ngay lập tức. Do đó, chúng tôi vượt xa chương trình phi hoạt hình đầu tiên và chương trình tiếp theo sẽ được coi là thứ hai, do đó nó sẽ là hoạt hình.

Như bạn có thể đoán, có khả năng ActionBar có thể được nhìn thấy trước khi nó bị ẩn bởi hoạt động bị trì hoãn. Đây thực sự là trường hợp. Hầu hết thời gian không thấy gì nhưng thỉnh thoảng, bạn có thể thấy ActionBar nhấp nháy trong một giây.

Trong mọi trường hợp, đây không phải là một giải pháp hay, vì vậy tôi hoan nghênh mọi đề xuất.

Ngoài ra cho người dùng thanh hành động hỗ trợ v7, mã sẽ là:

getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getSupportActionBar().hide();

2
@newton_guima vâng, nó hoạt động. Chỉ cần nhớ sử dụng supportRequestWindowFeature (Window.FEATURE_ACTION_BAR)
scana

@Cleric - Làm thế nào để bạn thực hiện tất cả điều này để làm việc với setTheme? Bởi vì câu trả lời của bạn hoạt động rất tốt nếu tôi đặt chủ đề từ Bản kê khai, nhưng nếu tôi thực hiện onCreate(trong trường hợp của tôi, chủ đề phụ thuộc vào sở thích về ánh sáng của chủ đề tối), thanh hành động holo mặc định sẽ nhấp nháy trước khi tôi đặt trong chủ đề của mình dù sao. Nhưng có lẽ đây là giá trị một câu hỏi SO hoàn chỉnh khác.
vết thương

2
@Cleric Cảm ơn. Tôi đã giải quyết vấn đề của mình android:theme="@android:style/Theme.NoTitleBar"thành Bản kê khai và sau đó setTheme(R.style.MyTheme)trong hoạt động chính onCreate; Điều này đảm bảo (trong Android 4+) tránh đèn flash của holo mặc định ActionBartrước cái tôi đã xác định trong chủ đề của mình (Tôi đến đây để tìm cách khắc phục điều này; tôi thực sự không cần bất kỳ màn hình giật gân nào).
vết thương

2
Tôi gọi getSupportActionBar().hide();sau getWindow().requestFeature(Window.FEATURE_ACTION_BAR);và mọi thứ nổ tung với một NPE. Có ý kiến ​​gì không? Vấn đề với Theme.AppCompat?
loeschg

1
@loeschg: Tôi gặp vấn đề tương tự và tìm thấy giải pháp này: stackoverflow.com/a/2031545635314976
nonzaprej

50

Sử dụng mã đơn giản này trong tệp. Class của bạn để ẩn thanh hành động

getSupportActionBar().hide();

37

Nếu bạn đang sử dụng ActionBarSherlock, thì hãy sử dụng Theme.Sherlock.NoActionBar Theme trong Hoạt động của bạn

<activity 
    android:name=".SplashScreenActivity"
    android:theme="@style/Theme.Sherlock.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

1
Điều tương tự cũng áp dụng cho Android 3+ ActionBar tiêu chuẩn (không có Sherlock) : <activity android:theme="@android:style/Theme.NoActionBar">.
Alex Semeniuk

Giải pháp hoàn hảo :) Cảm ơn.
alicanbatur

7
Tôi không thấy đây là câu trả lời cho câu hỏi của Ilya. Đặt chủ đề thành Theme.Sherlock.NoActionBarsẽ có nghĩa là gọi getActionBar()hoặc getSupportActionBar()(sau đó hiển thị thanh hành động) trả về null ...
Adil Hussain

@AlexSemeniuk Khi tôi sử dụng dòng đó trong bảng kê khai, tôi gặp lỗi này:error: Error: No resource found that matches the given name (at 'theme' with value '@android:style/ Theme.NoActionBar').
Si8

1
@ SiKni8 Bạn có chắc chắn đang sử dụng thư viện API13 + cho ứng dụng của mình không?
Alex Semeniuk

19

Tạo hai phong cách:

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

<style name="AppThemeBar" parent="Theme.AppCompat.Light">
    <item name="android:windowNoTitle">false</item>
</style>

Đặt AppThemeNoBar làm chủ đề ứng dụng và AppThemeBar cho hoạt động mà bạn muốn hiển thị ActionBar. Sử dụng hai kiểu bạn sẽ không thấy thanh Hành động trong khi chế độ xem đang tải.

Kiểm tra liên kết này Android: ẩn thanh hành động trong khi xem tải


Cuối cùng! Đã làm cho tôi. Cảm ơn. :)
Dhofca

Điều này không hoạt động trên Android 2.3.3 với AppCompat. ActionBar được hiển thị. Tuy nhiên, điều này hoạt động trên tức là KitKat.
Yar

17

Xin chào Tôi có một giải pháp đơn giản bằng cách sử dụng 2 chủ đề

  1. Chủ đề màn hình Splash (thêm nó vào bảng kê khai):

    <style name="SplashTheme" parent="@android:style/Theme.Holo.NoActionBar"> <item name="android:windowBackground">@color/red</item> </style>

  2. chủ đề bình thường (thêm nó vào hoạt động của bạn bằng setTheme (R.style.Theme)):

    <style name="Theme" parent="@style/Theme.Holo"> <item name="android:windowBackground">@color/blue</item> </style>

Để hỗ trợ SDK 10:

@Override    
public void onCreate(Bundle savedInstanceState) {

    setTheme(R.style.Theme);      
    super.onCreate(savedInstanceState);

      ...........
      ...........
}

15

Tôi cũng đã cố gắng ẩn Action Bar trên Android 2.2, nhưng không có giải pháp nào trong số này hoạt động. Mọi thứ kết thúc với một vụ tai nạn. Tôi đã kiểm tra DDMS LOg, Nó bảo tôi sử dụng 'Theme.AppCompat'. Lần cuối cùng tôi đã giải quyết vấn đề bằng cách thay đổi android:theme="@android:style/Theme.Holo.Light.NoActionBar"Line

vào android:theme="@style/Theme.AppCompat.NoActionBar"và nó hoạt động, nhưng Giao diện tối.

sau đó tôi đã cố gắng android:theme="@style/Theme.AppCompat.Light.NoActionBar"và cuối cùng đã có được những gì tôi muốn.

Sau đó, khi tôi tìm kiếm về 'AppCompat' trên Trang web dành cho nhà phát triển, tôi đã nhận được cái này.

Vì vậy, tôi nghĩ rằng Giải pháp cho Android 2.2 là

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Và xin lỗi vì tiếng Anh không tốt của tôi như mọi khi.


12

Kết quả tốt nhất với tôi là tạo ra một hoạt động với ThemeNoTitleBar và không có nội dung như trình khởi chạy. Sau đó, hoạt động này gọi trực tiếp cho người khác.

Tất nhiên, nếu bạn muốn, bạn có thể thêm nội dung vào Hoạt động Splash nhưng trong trường hợp của tôi, tôi chỉ muốn hiển thị ứng dụng trực tiếp.

Rõ ràng:

<activity
        android:name="com.package.SplashActivity"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Hoạt động:

public class SplashActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    //start StartActivity
    Intent intent = new Intent(this, StartActivity.class);
    startActivity(intent);
    finish();
}

}


9

Nếu bạn sử dụng một Activitymàn hình bao gồm một màn hình giật gân, thì bạn có thể làm điều này nếu bạn sử dụngSherlockActionBar

getSupportActionBar().hide();

Sau màn hình giật gân, bạn có thể hiển thị lại với ...

getSupportActionBar().show();

Nó sẽ giống với bản địa ActionBarcủa Android.


6

Giải pháp @Clerics hoạt động. Nhưng điều này dường như cũng là một vấn đề với một số ứng dụng gốc của Google: googles, cửa hàng chơi, nói chuyện. Ngoài ra các ứng dụng lớn khác như skype.

EDIT : Giải pháp dưới đây đã gây ra sự cố cho Actionbarsherlock trên api <4.0, lý do được đặt ra. Chương trình không hoạt động trước bánh sandwich kem

Thêm vào sau trong bảng kê khai của bạn trong thẻ ứng dụng hoặc hoạt động của bạn:

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

Và sau đó trong hoạt động chính của bạn:

    // Set theme
    setTheme(R.style.YOUR_THEME);
    getSupportActionBar().setTitle(R.string.title);

    // Start regular onCreate()
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

6

tốt nhất và đơn giản

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


6

2015, sử dụng thư viện v7 hỗ trợ với chủ đề AppCompat, đặt chủ đề này cho Hoạt động của bạn.

<style name="AppTheme.AppStyled" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimaryDark">@color/md_indigo_100</item>
    <item name="colorPrimary">@color/md_indigo_500</item>
    <item name="colorAccent">@color/md_red_500</item>
    <item name="android:textColorPrimary">@color/md_white_1000</item>
    <item name="android:textColor">@color/md_purple_500</item>
    <item name="android:textStyle">bold</item>
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

4

Đối với Splashscreenbạn nên sử dụng dòng này trong manifestvà không sử dụnggetActionBar()

<item name="android:windowActionBar">false</item>

và một lần khi Splash Activitykết thúc trong Activitysử dụng chính bên dưới hoặc không có gì

<item name="android:windowActionBar">true</item>

Điều này thực sự hoạt động nếu bạn sử dụng một chủ đề khác cho trang giật gân sau đó là trang chính của ứng dụng của bạn. Chỉ cần sử dụng android: theme = "@ style / huyền thoại" cho cả Hoạt động chính (màn hình giật gân của bạn) và hoạt động đầu tiên của ứng dụng không phải là màn hình giới thiệu hoán đổi chủ đề.
ThanksMister

1
Điều này gây ra lỗi ở các cấp API hiện tại: "Thuộc tính bị thiếu tiền tố không gian tên Android." <item android:name="android:windowActionBar">true</item>thoát khỏi lỗi này, nhưng tôi không biết liệu nó có còn hoạt động không.
LarsH

3

Hãy thử nó, nó hoạt động với tôi:

Dưới đây được loại bỏ thanh tiêu đề của hoạt động

 requestWindowFeature(Window.FEATURE_NO_TITLE);

Dưới đây loại bỏ thanh thông báo để làm cho hoạt động ở chế độ toàn màn hình

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

(Ví dụ đầy đủ bên dưới) Lưu ý: Các phương thức này đã được gọi trước khi chúng tôi đặt chế độ xem nội dung cho hoạt động của chúng tôi

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Sets Application to full screen by removing action bar
        requestWindowFeature(Window.FEATURE_NO_TITLE);    
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main); 

        // without this check, we would create a new fragment at each orientation change!
        if (null == savedInstanceState)
            createFragment();
    }

Vui lòng làm rõ lý do tại sao điều này hoạt động hoặc tại sao bạn nghĩ rằng điều này nên làm việc. Chỉ dán mã không làm cho một câu trả lời hoàn chỉnh.
Kris

@Kris, Oh tôi hiểu ý của bạn, Cảm ơn!
dùng3862873

3

cái này có thể hữu ích
thêm cái này vào bảng kê khai của bạn

 android:theme="@android:style/Theme.Light.NoTitleBar" 

chúc mừng


Tại sao để đăng một cái gì đó không tuyệt vời như câu trả lời hàng đầu trong một câu hỏi cũ như vậy?
gsamaras

'câu trả lời hàng đầu' không giúp tôi, vì vậy tôi đã tìm thấy câu trả lời này và đăng nó ở đây.
ralphgabb

2

Cách tốt nhất tôi tìm thấy sau khi đọc tất cả các tùy chọn khả dụng là đặt chủ đề chính mà không có ActionBar và sau đó thiết lập MyTheme theo mã trong phần gốc của tất cả Hoạt động.

Rõ ràng:

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

Cơ sở:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.GreenHoloTheme);
}

Cách này giúp tôi tránh ActionBar khi ứng dụng bắt đầu!


1

Các giải pháp đã được đăng đi kèm với tác dụng phụ, đó là lệnh gọi .show () đầu tiên không làm hoạt động ActionBar cho tôi. Tôi có một giải pháp tốt khác, đã sửa nó:

Tạo một drawable trong suốt - một cái gì đó như thế:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid
       android:color="#00000000" />
</shape>

Đặt nền của thanh hành động thực tế thành chế độ xem tùy chỉnh vô hình mà bạn đặt trên thanh hành động:

getSupportActionBar().setCustomView(R.layout.actionbar_custom_layout);
      getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
              ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);

Đặt nền trong suốt cho thanh hành động trong onCreate:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.background_transparent));

Imortant: Không ẩn thanh hành động ngay lập tức trong onCreate, nhưng với một chút chậm trễ sau - ví dụ: khi bố cục kết thúc với việc tạo:

getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    getSupportActionBar().hide();
                }
            });

Trước cuộc gọi .show () đầu tiên của bạn, hãy đặt chế độ xem tùy chỉnh hiển thị:

_actionbarRoot.setVisibility(View.VISIBLE);
getSupportActionBar().show();

1

Trong trường hợp bạn có null vì bạn đang sử dụng thư viện hỗ trợ , thay vì getActionBar()bạn cần gọi getSupportActionBar().


1

Chỉ cần thêm nó vào MainActivity của bạn trong hàm onCreate.

val actionBar = supportActionBar?.apply { hide() }

đó là công việc trên androidx. Chỉ cần thêm sau setContentView () hàng nàysupportActionBar?.apply { hide() }
Black_Zerg

0

Đặt màn hình giật gân của bạn vào một hoạt động riêng biệt và sử dụng startActivityForResulttừ onCreatephương thức hoạt động chính của bạn để hiển thị nó. Điều này hoạt động bởi vì, theo các tài liệu:

Trong trường hợp đặc biệt, nếu bạn gọi startActivityForResult () với requestCode> = 0 trong lần đầu tiên onCreate (Gói đã lưuInstanceState) / onResume () của hoạt động của bạn, thì cửa sổ của bạn sẽ không được hiển thị cho đến khi kết quả được trả về từ hoạt động đã bắt đầu . Điều này là để tránh hiện tượng nhấp nháy khi chuyển hướng sang hoạt động khác.

Bạn có lẽ chỉ nên làm điều này nếu đối số onCreatenull(chỉ ra một khởi động mới của hoạt động của bạn, trái ngược với khởi động lại do thay đổi cấu hình).


Điều này không hoạt động. Khi onCreate () bắt đầu, thanh hành động đã hiển thị. Điều này được thấy rõ trong gỡ lỗi.
Ilya Izhovkin

0

Tôi vẫn gặp lỗi với con trỏ null và cuối cùng nó đã giúp khi tôi gọi đầu tiên getWindow (). RequestFeature () và sau đó là super.onCreate ()

public void onCreate(Bundle savedInstanceState) {
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
super.onCreate(savedInstanceState);
getActionBar().show();

0

Chỉ cần thêm cái này vào tệp kiểu của bạn

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

0

Trên thực tế, bạn chỉ có thể thiết lập giật gân Activityvới NoActionBar và thiết lập chính của bạn activityvới thanh hành động.


0

Cách tốt nhất để làm điều này là hai thực hiện hoạt động đầu tiên dưới dạng hoạt động trống và nội dung bạn muốn đặt và sau một thời gian kích hoạt hoạt động khác. Bằng cách làm theo cách này, bạn có thể thực hiện hoạt động đầu tiên dưới dạng màn hình giật gân mà không cần thanh hành động hay bất cứ thứ gì. Đây là hoạt động đầu tiên của tôi

package com.superoriginal.rootashadnasim.syllabus;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class first_screen extends AppCompatActivity {



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first_screen);


    final Handler h=new Handler();
    h.postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent intent=new     Intent(getApplicationContext(),DrawerChooseBranchMainActivity.class);
            startActivity(intent);
        }
    },2000);

}
}

Sau đó, bạn có thể đặt bất kỳ hoạt động nào của mình làm hoạt động đầu tiên Nếu bạn không muốn có thanh hành động trong bất kỳ màn hình nào thì chỉ cần thêm hoạt động này vào phong cách của bạn

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

0

Studio Android cung cấp mẫu xây dựng cho toàn màn hình, nếu bạn sử dụng Android studio, bạn có thể làm theo bước dưới đây để triển khai hoạt động toàn màn hình.

Bước đầu tiên để tạo hoạt động mới

Chọn chọn Toàn màn hình Hoạt động

Làm xong. Android studio đã làm công việc của bạn, bây giờ bạn có thể kiểm tra mã cho toàn màn hình.


-1

Đây là cách tốt nhất mà tôi đã sử dụng Chuyển đến tệp java, sau onCreate:

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

        // Take instance of Action Bar 
        // using getSupportActionBar and 
        // if it is not Null 
        // then call hide function 
        if (getSupportActionBar() != null) { 
            getSupportActionBar().hide(); 
        } 
    }

-3

Tôi nhận ra rằng việc đăng liên kết không phải là cách tốt nhất để làm việc, nhưng tôi khuyên bạn nên đọc tài liệu sau từ chính Google. Đây là tài liệu chính thức của Android về cách kiểm soát hệ thống của bạn (những thứ như thanh hành động, thanh điều hướng, v.v.). Thật không may, thông tin quá nhiều để đăng trực tiếp, nhưng sau khi đọc nó, bạn sẽ hiểu chính xác cách hiển thị và ẩn các tính năng cho dù bạn đang phát triển phiên bản nào, thật đơn giản!

Trong trường hợp liên kết thay đổi, nó có thể được tìm thấy trong tài liệu chính thức của Android đang được đào tạo -> bắt đầu -> Thực tiễn tốt nhất cho giao diện người dùng -> quản lý hệ thống ui

https://developer.android.com/training/system-ui/index.html

nhập mô tả hình ảnh ở đây


-4

bạn có thể sử dụng cái này:

getSupportActionBar().hide(); Nếu nó không hoạt động, hãy thử cái này:

getActionBar().hide();

Nếu ở trên không hoạt động hãy thử như thế này:

trong thư mục của bạn = res / value / style.xml, mở style.xml -> có parentsự thay đổi thuộc tính thànhparent="Theme.AppCompat.Light.DarkActionBar"

nếu tất cả đều không hoạt động. tôi không biết nữa. nhưng đối với tôi nó hoạt động.


getSupportActionBar (). hide (); đã được đề cập trong câu trả lời được bình chọn cao nhất, getActionBar (). hide (); đã được đề cập trong câu hỏi và DarkActionBar đã được đề cập trong câu trả lời của Sơn Nguyễn Thành. Thêm vào đó, câu hỏi này đã được 4 tuổi và đã có nhiều câu trả lời được bình chọn cao.
augray 4/10/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.