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

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

推荐:android shape背景渐变、控件美化及自定义title

[1.Android 在XMl里面共享同一布局文件 一直以为共享同一布局文件都是在之前写好的布局之后复制过来,或者通过 java代码使用layoutInflater Add进来的。但今� ...]

最近公司转移动开发了,让我赶紧弄个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);

推荐:【android开发】自定义TabHost

[很多情况下,我们需要用到标签,类似于微末下面的标签效果,直接使用系统默认的往往不能满足项目的需求,就需要我们自定义一个TabHost。下面我把在项目的实现的效果分享给

 

 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 ~

推荐:Andorid 自定义标题栏

[效果如图:先在strings.xml 中定义主题 @drawable/title_bg 40dp @style/customTitlebg 在AndroidManifest.xml,application标签中改为使用我们

相关推荐