标签选择指示器

时间:2013-10-25 12:45:59

标签: android xml android-layout gradient android-xml

在我的应用程序中我使用Tabs,默认情况下它看起来像这样:

enter image description here

现在,我想为圆角形状的选定标签显示不同颜色[如:深蓝色]

我使用下面的XML来创建上面的标签

使用它来创建圆角形状的标签,带有白色角,mytab_custom.xml: -

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#44b8ec"/>    

    <stroke android:width="1dp"
            android:color="#ffffff" />

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp" /> 

    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
             android:topLeftRadius="7dp" android:topRightRadius="7dp" />

</shape>

并使用它,在选项卡中显示图像,tab_contact.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/birthday_text"
        android:state_selected="true" />
    <item android:drawable="@drawable/birthday_text" />
</selector> 

tab_indicator.xml: -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="0dip"
    android:layout_height="40dip"    
    android:layout_weight="1"
    android:orientation="vertical"
    android:padding="5dp">

    <ImageView 
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/icon"
    /> 

</RelativeLayout>

main.xml中: -

<?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"
    android:background="@drawable/btn_background"
  >

    <LinearLayout
        android:orientation="vertical"       
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"      
        android:padding="5dp">

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/check"
       />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:padding="5dp" />

    </LinearLayout>

</TabHost>

1 个答案:

答案 0 :(得分:1)

问题可能出在这里: -

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/birthday_text"
        android:state_selected="true" />
    <item android:drawable="@drawable/birthday_text" />
</selector> 

尝试使用不同的图像: -

<item android:drawable="@drawable/birthday_text"
            android:state_selected="true" />