Android 自定义标题栏Title Bar
16lz
2021-01-23
在Android自定义标题栏,步骤很简单:
1. 在onCreate方法中声明如下代码:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.id.activity_main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom.title_bar);
2. 在layout中定义如下文件:
custom_title_bar.xml
<?xml version="1.0" encoding="utf-8"?>
这样就基本上完成了自定义title bar,但是有个问题,App首次载入时,系统总是会闪现一下app_name,然后才会运行我们定义的title bar行为。这是一个令人诡异的行为。那么怎么去除app_name呢?
首先我们可以在app的manifest文件中,给我们的Activity添加无标题栏的主题
android:theme="@android:style/Theme.NoTitleBar"
然后重新声明自定义的TitleBar,代码如下:
setTheme(R.style.CustomTitleBarTheme); //声明标题栏,注意这一句的位置super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.activity_main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.cus_title_bar); //注意顺序
附上styles.xml
效果图如下:
更多相关文章
- Toast大全(默认,顶部,底部,各种自定义) Android
- Android 自定义APP开机启动,并打开其它App
- Android attrs文件(自定义)属性详解
- android 默认系统音量定义
- 第一行代码Android第三课
- Android 开源源代码收集(不断更新中...)
- Android顶部工具栏和底部工具栏的简单实现代码
- Android API指南(二)自定义控件04之 位置说明