Android 如何在ActionBar';s导航选项卡并使选项卡适应其高度?

Android 如何在ActionBar';s导航选项卡并使选项卡适应其高度?,android,android-actionbar,Android,Android Actionbar,我正在使用操作栏,我想在导航选项卡中设置一个自定义的视图 选项卡的高度似乎是固定的,而我的自定义视图更大,因此不适合 我试图自定义如下所示的样式,但它不会使选项卡更高 如何使选项卡的高度适应我的自定义视图大小 (我知道我可以使用选项卡的设置图标和设置标题,但我仍然想使用自定义的视图) styles.xml @样式/MyTabStyle 85dp custom_tab.xml MainActivity.java public类MainActivity扩展了FragmentActivity

我正在使用
操作栏
,我想在导航选项卡中设置一个自定义的
视图

选项卡的高度似乎是固定的,而我的自定义
视图更大,因此不适合

我试图自定义如下所示的样式,但它不会使选项卡更高

如何使选项卡的高度适应我的自定义
视图
大小

(我知道我可以使用
选项卡
设置图标
设置标题
,但我仍然想使用自定义的
视图

styles.xml


@样式/MyTabStyle
85dp
custom_tab.xml


MainActivity.java

public类MainActivity扩展了FragmentActivity实现
ActionBar.TabListener{
分段SPAGERADAPTER mSectionsPagerAdapter;
ViewPager mViewPager;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置操作栏。
最终ActionBar ActionBar=getActionBar();
actionBar.setNavigationMode(actionBar.NAVIGATION\u MODE\u选项卡);
//创建适配器,该适配器将为这三个函数中的每一个返回一个片段
//应用程序的主要部分。
mSectionsPagerAdapter=新节spageradapter(
getSupportFragmentManager());
//使用分区适配器设置ViewPager。
mViewPager=(ViewPager)findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
//在不同区段之间滑动时,选择相应的
//我们也可以使用ActionBar.tab#select()来完成这项工作
//对选项卡的引用。
mViewPager
.setOnPageChangeListener(新的ViewPager.SimpleOnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
actionBar.setSelectedNavigationItem(位置);
}
});
//对于应用程序中的每个部分,在操作栏中添加一个选项卡。
对于(int i=0;i
这会让actionbar保持在顶部,但我不知道为什么

ActionBar.DISPLAY_SHOW_HOME
操作栏位于顶部:

actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM  | ActionBar.DISPLAY_SHOW_HOME);
选项卡位于操作栏的顶部:

actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM 

抱歉,您不能更改操作栏选项卡的高度。但是,您可以通过使用TabHost和ViewPager来实现预期的行为。 通过这种方式,您可以将自定义视图添加到TabIndicators中,并具有滑动功能

ActionBar.DISPLAY_SHOW_HOME
actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM  | ActionBar.DISPLAY_SHOW_HOME);
actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM