Android去除自带的标题栏
我们在做项目开发的时候,往往自带的标题栏都难以满足我们的要求。这时,我们便希望通过自定义标题栏去实现,但在此之前我们需要做一步重要的准备工作,那便是去除原本自带的标题栏,否则便会出现双标题栏的情况,这对于我们或者用户来说,都是难以接受的。好了,废话不多说,下面我们来看如何实现。
在我看来,去除Android自带标题栏大致可为两种:一种是只去除指定Activity的标题栏,而另一种是去除整个应用程序的标题栏。
第一种:
● 去除指定Activity的标题栏,很简单,就如下一句话即可。
requestWindowFeature(Window.FEATURE_NO_TITLE);
但是需要特别注意,一定要在指定Activity的onCreate( )方法中,在setContentView()方法之前。
● 去除指定AppCompatActivity的标题栏,需要把上面的代码替换为如下:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
或者,可直接调用下面方法隐藏标题栏
getSupportActionBar().hide();
第二种:去除整个应用程序的标题栏,这也不难,也是一句话就OK了。
我们知道,在 AndroidManifest.xml 中的 application 标签中,android:theme="@style/AppTheme"语句可以设置当前应用程序的主题样式。因此,我们可以自定义自己的主题样式。可以通过在 styles.xml 文件中,在样式名为 AppTheme 的条目中添加
如果是隐藏整个应用程序中继承AppCompatAvitivoty的标题栏,则需要使用如下方法,同时也会隐藏Acitivity的标题栏。
在 AndroidManifest.xml 中的 application 标签中,将android:theme="@style/AppTheme"替换为如下代码:
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
但直接使用Android现有的样式就无法实现我们其他的自定义样式了,那还有什么更好的方法呢?那就是我们上方所说的自定义样式了,首先我们最好看看Theme.AppCompat.Light.NoActionBar到底是什么东西?
原来如此,简单点的实现方法,如下:
更或者换个姿势,如下:
这是我第一次写博客,而且现在还属于学习阶段,希望通过博客来记录整理学习成功与经验,如有不足之处望指点。
更多相关文章
- Android逆向之旅---动态方式破解apk终极篇(加固apk破解方式)
- Android(安卓)开发启动时白屏或黑屏的最简单解决方法
- Android获取控件大小的方法
- 再论Handler—Handler事件分发、Handler线程切换原理解析
- Android中View的绘制机制
- 从原理上粗略认知Android线程池(ThreadPoolExecutor)
- Android中Toast显示时间的自定义
- UI效果(9): 屏幕相关操作
- Android异步任务的使用方法