Android标签自定义视图

时间:2014-09-27 12:18:12

标签: android android-actionbar android-custom-view android-tabs

我正在使用以下代码向我的应用添加标签:

ActionBar.Tab tab1=actionBar.newTab();
tab1.setTabListener(this);
tab1.setCustomView(R.layout.tab_style);
TextView txt1 = (TextView)tab1.getCustomView().findViewById(R.id.tabtext);
txt1.setText(R.string.tab_1);
actionBar.addTab(tab1);

这是tab_style.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- This is the main layout of the application -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_basic_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white" 
    android:paddingBottom="15dp"
    >


<TextView
    android:id="@+id/tabtext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:textSize="20dp"
/>
</RelativeLayout>

我想更改标签背景,但结果是:

enter image description here

我该如何解决? Customview不是居中的。

2 个答案:

答案 0 :(得分:2)

操作栏标签在&#34; L&#34;开发者预览。

黑色区域是actionBar tabBar的背景。您必须设置actionBarTabBarStyle样式并设置背景。看看这个链接:

http://blog.alwold.com/2013/08/28/styling-tabs-in-the-android-action-bar/

或者您可以使用其他库:

PagerSlidingTabStrip

或者如果你想拥有谷歌版,你可以尝试:

SlidingTabsBasic

答案 1 :(得分:0)

根据您在textview中的要求尝试边距,这将有助于