项目中需要有去除标题栏的需求,于是简单的研究了一下。
效果图:
Android中如果我们不需要标题栏(现在大多数是ToolBar),那么我们可以将其去除,去除的方法大体可以分为两种:1、代码中实现;2、AndroidManifest.xml配置文件中实现。接下来,就详细说一下:
1.代码实现
在需要去除标题栏的类,onCreate()方法中,setContentView(R.layout.main)之前加入:
requestWindowFeature(Window.FEATURE_NO_TITLE);,现在基本就可以去除标题栏了。
但是如果Activity继承了AppCompatActivity,这个就失效了 ,加入了上面的方法,但是不能去除标题栏。别着急,按照下面的方法a或者b即可解决:
a、手动在onCreate()里调用下面代码:
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
b、第二种方法 直接用supportrequestwindowFeature,把1中调用的方法换成下面的就可以了:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
2.配置文件中实现
注册Activity时加上如下代码就可以实现:
<activity android:name=".Activity"
android:theme="@android:style/Theme.NoTitleBar">
</activity>
同样的问题,如果你的Activity继承了AppCompatActivity,以上方法可能会失效,解决办法(a和b选择一种):
a、 直接修改style 。缺点:直接改变全局的Activity;注意:继承的主题DarkActionBar
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
b、需要去除标题栏的Activity 注册中:添加 android:theme="@style/Theme.AppCompat.NoActionBar"
结束
---------------------
作者:android157
来源:CSDN
原文:https://blog.csdn.net/android157/article/details/80774143
版权声明:本文为android157原创文章,转载请附上博文链接!