android tabhost 自定义标题 you cannot combine custom titles with other title features

最近公司转移动开发了,让我赶紧弄个Android 的demo出来, 于是参考QQ界面,弄了个tabhost做导航,上面的标题栏需要调整,但在这上面遇到问题了,运行就报y'ou cannot combine custom titles with other title features 。

网查了很久,多数都说是tabhost和 里面的activity 的标题栏重复了,所以会报这个错误,由于自己还没什么android开发经验,也许是个简单的问题让我弄了大半天,到现在(23:47:40)总算摸到了点眉目,我现在直接把我解决的方法记录下,具体原理我现在还没时间去弄清楚。

首先定义标题得在tabhost这个activity里处理,它里面的activity在oncreate的时候必须加上:

requestWindowFeature(Window.FEATURE_NO_TITLE); 

这句是在setContentView之前的 ,

然后在tabhost的activity的oncreate方法里加上:

 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

 setContentView(R.layout.activity_home);

 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.layout_remind_title);

 

这样,其中R.layout.layout_remind_title 是在layout文件下定义好的一个标题样式。

到目前为止,在2.3的系统上是能正常运行的  ,在4.0上面还是会有之前那个错误

 

好了,最关键的一步是:直接删除 \res\values-v11和v11以上(这个没有什么用处)

还有其他说法是:在AndroidMainfest.xml中修改<application>标签中的android:theme="@style/AppTheme"(自定义主题的时候),根据自己需要修改。

不过这种我没试过,删除那两个文件夹是没问题的。

好了,这事总算是解决了,昨晚忙到2点多,早上7点起床,中午没睡午觉,一直到现在还没困意,不过现在可以安心的睡了,z Z ~

猜你喜欢

转载自chenhbc.iteye.com/blog/2022459