Android自定义选项卡布局
如何为选项卡添加自定义布局?例如,我想在选项卡中添加图标和标题。和自定义活动/非活动颜色。代码:Android自定义选项卡布局,android,layout,tabs,Android,Layout,Tabs,如何为选项卡添加自定义布局?例如,我想在选项卡中添加图标和标题。和自定义活动/非活动颜色。代码: mTabHost = (TabHost) findViewById(android.R.id.tabhost); mTabHost.setup(); mViewPager = (ViewPager) findViewById(R.id.pager); mTabsAdapter = new TabsAdapter(this, mTabHost, mViewPager);
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
mTabHost.setup();
mViewPager = (ViewPager) findViewById(R.id.pager);
mTabsAdapter = new TabsAdapter(this, mTabHost, mViewPager);
TabSpec tab1spec = mTabHost.newTabSpec("tab1").setIndicator("Tab 1");
TabSpec tab2spec = mTabHost.newTabSpec("tab2").setIndicator("Tab 2");
mTabsAdapter.addTab(tab1spec, ConverterFragment.class, savedInstanceState);
mTabsAdapter.addTab(tab2spec, RatesFragment.class, savedInstanceState);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
使用前面的代码,您应该能够创建选项卡,关联意图以启动活动,并为选项卡设置图标(第5行,“主页”将是选项卡的标题)。该图标将根据选项卡是活动的还是非活动的而变化,但为此,您需要定义一个文件“tab_options_home.xml”(或您想要的任何名称,但请记住在代码中对其进行更改),并将其保存到可绘制的
文件夹中。该文件应如下所示:<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Icon used when selected -->
<item android:drawable="@drawable/hover_icon"
android:state_selected="true" />
<!-- Icon used when not selected -->
<item android:drawable="@drawable/regular_icon" />
使用此xml,您可以定义选项卡处于活动状态(state_selected=“true”
)或非活动状态时应使用的图标。我知道为时已晚,但希望它能帮助任何需要它的人
PS:记住扩展
TabActivity
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Icon used when selected -->
<item android:drawable="@drawable/hover_icon"
android:state_selected="true" />
<!-- Icon used when not selected -->
<item android:drawable="@drawable/regular_icon" />