0
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip" >

            <TextView
                android:id="@+id/view_all"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:tag="tab0"
                android:text="View All" />

            <TextView
                android:id="@+id/favourite"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:tag="tab1"
                android:text="Favourite" />

            <TextView
                android:id="@+id/make_fav"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:tag="tab2"
                android:background="@drawable/prev_button" />
        </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

        </FrameLayout>
    </LinearLayout>
</TabHost>

尝试通过在 TabHost 的 onTabChanged() 上使用以下代码在运行时更改 textview(make_fav) 图像。基本上我想在用户单击选项卡时更改图像。

LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
tabHost.getCurrentTabView().setBackgroundResource(R.drawable.prev_button);
tabHost.getCurrentTabView().setLayoutParams(params);

问题:如何让 9-patch 图像不拉伸,即使它在 xml 中正确显示?

4

1 回答 1

0

像下面这样创建xml

tab_image.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:drawable="@drawable/tab_pressed_image" />
    <item android:state_focused="true"
        android:drawable="@drawable/tab_pressed_image" />
    <item
        android:drawable="@drawable/simple_image" />
</selector>

将此 xml 放在可绘制目录下,并将此图像设置为选项卡的背景。

于 2013-05-02T13:16:59.987 回答