项目中需要有去除标题栏的需求,于是简单的研究了一下。
效果图:
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"
3.在前面两步的基础上,如果想要全屏显示,并且显示状态栏或者自定义状态栏背景
在setContent之前设置如下代码
/ * 全屏设置(显示状态栏) */ private void fullWindow() { if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); getWindow().setStatusBarColor(Color.TRANSPARENT); } }
了解更多:Android---状态栏设置颜色字体_Liknananana的博客-CSDN博客_android设置状态栏字体颜色
结束
到此这篇Android开发:去除标题栏的方法的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/yd-android/3477.html