首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在全屏时禁用导航栏幻灯片动画?

如何在全屏时禁用导航栏幻灯片动画?
EN

Stack Overflow用户
提问于 2016-01-24 22:11:00
回答 1查看 3.8K关注 0票数 18

我有一个转到另一个全屏活动的活动。然而,当从这个活动过渡到我的全屏活动时,导航栏会滑下来,而不是立即消失。我在第二个活动中放大了一个全屏窗口,但由于滑动动画的速度很慢,它在动画完成后1秒后调整大小,而不是立即放大到全屏。因此,我需要动画立即消失。我试过了

<item name="android:windowAnimationStyle">@null</item>

代码语言:javascript
复制
overridePendingTransition(0, 0);

代码语言:javascript
复制
Transition fade = new Fade();
fade.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setEnterTransition(fade);

不走运。

在Windows端,我尝试过

代码语言:javascript
复制
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 
WindowManager.LayoutParams.FLAG_FULLSCREEN 
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN

如何隐藏导航栏:View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 03:55:09

我想,我做到了:

FullscreenActivity类:

代码语言:javascript
复制
public class FullscreenActivity extends AppCompatActivity {

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

        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        decorView.setSystemUiVisibility(uiOptions);
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }

        setContentView(R.layout.activity_fullscreen);
    }
}

清单:

代码语言:javascript
复制
    <activity
        android:name=".FullscreenActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_fullscreen"
        android:theme="@style/FullscreenTheme"/>

样式:

代码语言:javascript
复制
<style name="FullscreenTheme" parent="AppTheme">
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowBackground">@null</item>
    <item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item>
    <item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
</style>

NB!设置StatusBar颜色需要API 21对于旧版本的,要“隐藏”StatusBar,您需要使用:

代码语言:javascript
复制
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN;

在上面的代码中使用uiOptions。(不过,这会导致快速调整大小)。

我希望,这会有所帮助

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34976783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档