Android标签:我可以在标签旁边添加一些内容并自定义标签样式吗?

时间:2013-10-21 22:22:19

标签: android android-actionbar android-tabs

我正在尝试创建不会填满整个宽度的标签。

我目前正在使用ActionBar标签,并且刚刚制作了蓝色+标签,但遗憾的是它将其拉伸以使其宽度相等。

有什么方法可以使用操作栏标签来执行此操作吗?如果没有,我可以使用TabHost / TabWidget吗?我希望页面的内容是一个ViewPager,它控制实际的页面内容。

我当前的XML文件看起来很简单:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

当我尝试使用TabHost时,我尝试了这个:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:id="@android:id/tabhost">

    <LinearLayout 
            android:id="@+id/LinearLayout01"
            android:orientation="vertical" 
            android:layout_height="fill_parent"
            android:layout_width="fill_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >

          <TabWidget 
                android:id="@android:id/tabs"
                android:layout_height="wrap_content" 
                android:layout_width="0dp"
                android:layout_weight="1"
                >

            </TabWidget>
            <Button
                android:layout_height="wrap_content"
                android:layout_width="46dp"
                android:background="#00F"
                android:text="+"
                >
            </Button>

        </LinearLayout>
        <FrameLayout 
            android:id="@android:id/tabcontent"
            android:layout_height="fill_parent"
             android:layout_width="fill_parent">
        </FrameLayout>

    </LinearLayout>

这给了我类似的东西:

但我不知道我的ViewPager适合那个。

我也无法弄清楚如何对操作栏标签进行以下自定义:

  1. 下壳而不是全部上限
  2. 标签高度
  3. 选择的条形颜色
  4. 选定的字体
  5. 选定/未选择的文字颜色
  6. 字体大小
  7. 任何想法都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

将“TabWidget”添加到“LinearLayout”或任何布局,并在需要时添加。

例如,使标签仅填充屏幕宽度的0.65

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="40dip"
            android:layout_marginBottom="6dip"
            android:baselineAligned="false"
            android:orientation="horizontal" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="0dip"
                android:layout_height="match_parent"
                android:layout_weight="0.65"
                android:orientation="horizontal" />

            <LinearLayout
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:layout_weight="0.35"
                android:background="@color/transparent" />
        </LinearLayout>