有没有人这样一个问题,在tabactivity下使用sherlockactionBar,但在Tabactivity获取的actionbar只支持3.0以上的版本,则跟想要的效果产生了冲突,所以我进行了以下处理:
1.将继承tabactivity的类 的主题换成 android:theme="@style/Theme.Sherlock.Light.NoActionBar" ,所以这里不能同过getactionbar设置标题 ,需要手动的将标题导入
我所写的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout _width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<include
layout="@layout/actionbar_title" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</LinearLayout>
</TabHost>
这里需要一个小小的注意:TabHost里面只能包含一个布局,否则在低版本下,标题会被所加载的activity覆盖
<include
layout="@layout/actionbar_title" />
<LinearLayou 这个是你自己设置的actionbar样式
还有actionbar的主题配置也要注意以下几点
android4.0以上版本会默认加载这个里面actionbar的样式
android3.0版本会默认加载这个里面actionbar的样式
所以想要自己的应用在低版本和高版本下都能跑,至少得在两个文件里都进行配置