在全屏模式下隐藏标题栏 (AppCompatActivity)

4

我正在尝试在全屏模式下隐藏标题栏。当我尝试使用Activity时,标题栏消失了。但是当我使用AppCompatActivity时,它仍然存在。有什么想法为什么会发生这种情况吗?我应该改变其他东西,比如清单吗?以下是我用于隐藏标题栏并进入全屏的代码:

public class MoreInfoNotification extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);

    super.onCreate(savedInstanceState);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.more_info_notification);
}

感谢。干杯!
2个回答

2

当使用AppCompatActivity移除ActionBar/Title时,该活动的主题;在styles.xml文件中指定必须是NoActionBar主题之一:

Theme.AppCompat.Light.NoActionBar

Theme.AppCompat.NoActionBar

0

明白了。

我为活动MoreInfoNotification创建了一个新的主题,并将其父级设置为先前的活动。

<!--Theme for parent activity--> 
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<!--Theme for new activity-->
<style name="MoreOnNotificationTheme" parent="AppTheme.NoActionBar">
    <item name="android:windowNoTitle">true</item>
</style>

MoreInfoNotification活动中不需要添加以下行:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接