【问题标题】:android activity hide too bar, full screenandroid活动隐藏太栏,全屏
【发布时间】:2016-12-05 10:18:15
【问题描述】:

我想解释一下我现在在做什么。我开发了一个 aar(sdk) 并且运行良好。但是,我希望我的 sdk 在被调用时占据全屏,即使调用者也有工具栏。我尝试了此链接中的示例

[How to set activity to fullscreen mode in Android?

但是,如果我将代码放在 sdk 的 android Manifest 中,我的应用程序将会崩溃。如果我在 sdk 活动 OnCreate 时执行以下代码。工具栏还在。

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

        setContentView(R.layout.activity_sdk_main);

我可以知道我需要做什么来隐藏工具栏。谢谢。

【问题讨论】:

  • 最佳解决方案在这里:http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android
  • 从您的链接中,我找到了 getSupportActionBar().hide();正在为我工​​作。谢谢。

标签: android aar


【解决方案1】:

如果您想要特定活动的全屏模式,请使用此

protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

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

}

为所有活动创建一个 BaseActivity 并编写其 onCreate 方法,如上所示,并将此基本活动扩展为所有其他活动。

【讨论】:

  • 对不起。那是我在发布这个问题之前已经尝试过的。我尝试在 setContentView 之前和之后添加该代码。两者都不起作用。
【解决方案2】:
public void setFullScreenView() {//Hiding status/navigation bar
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
        View v = this.getWindow().getDecorView();
        v.setSystemUiVisibility(View.GONE);
    } else if (Build.VERSION.SDK_INT >= 19) {
        View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }
    setContentView(R.layout.activity_splash_screen);
}

【讨论】:

    【解决方案3】:
    getSupportActionBar().hide(); 
    

    有效。

    补充说明,我的类是AppCompatActivity的扩展,下面是代码。

        @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                Logger.d(SdkMainActivity.class, "onCreate");
                getSupportActionBar().hide();    //---> this works
    
        //requestWindowFeature(Window.FEATURE_NO_TITLE);    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);   // ---> this the toolbar still appear
    
                setContentView(R.layout.activity_sdk_main);
    
    }
    

    【讨论】:

    • 您能否给出完整的代码示例和解释以确保完整性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 2011-01-23
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多