Android开发:去除标题栏的方法

项目中需要有去除标题栏的需求,于是简单的研究了一下。

效果图:


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"


结束


适当的放松可以提高学习的效率,扫面下方二维码,关注微信公众号“休闲1刻”,幽默段子等着你~



休闲1刻


猜你喜欢

转载自blog.csdn.net/android157/article/details/80774143