android中自定义标题栏,并在标题栏中添加按钮

这是刚开始在模拟器上运行的结果
android中自定义标题栏,并在标题栏中添加按钮_第1张图片
第一步:在layout中新建一个布局文件:setting_top.xml
其中代码如下:







android中自定义标题栏,并在标题栏中添加按钮_第2张图片
第二步:在要更改标题栏的activity文件中添加如下代码

 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 注意顺序
 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setting_top);//注意顺序

如图所示

android中自定义标题栏,并在标题栏中添加按钮_第3张图片
此时点击运行后会出现错误:

Caused by: android.util.AndroidRuntimeException: You cannot combine custom titles with other title features

android中自定义标题栏,并在标题栏中添加按钮_第4张图片
原因是: android4.0以上已经默认设置了title。
解决方法: 自定义标题栏
(1)在styles.xml文件中添加如下代码,自定义一个名为mystyle主题



android中自定义标题栏,并在标题栏中添加按钮_第5张图片
android中自定义标题栏,并在标题栏中添加按钮_第6张图片
(2)在AndroidManifest.xml文件中引用新建的mystyle如图所示
android中自定义标题栏,并在标题栏中添加按钮_第7张图片
运行还是存在错误:

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

android中自定义标题栏,并在标题栏中添加按钮_第8张图片

异常的意思是:你需要使用一个 theme.appcompat 主题(或后代)与此活动
因为我的activity是继承AppCompatActivity
android中自定义标题栏,并在标题栏中添加按钮_第9张图片
解决方法
AppCompatActivity改成Activity 如图所示
android中自定义标题栏,并在标题栏中添加按钮_第10张图片
运行结果如图所示
android中自定义标题栏,并在标题栏中添加按钮_第11张图片

你可能感兴趣的:(android中自定义标题栏,并在标题栏中添加按钮)