图像在tabhost中的运行时在textview中拉伸

时间:2013-05-02 13:06:55

标签: android android-tabhost textview

<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);

问题:即使它在xml中正确显示,如何才能使9补丁图像不展开?

1 个答案:

答案 0 :(得分: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放在drawable目录下,然后将此图像设置为tab的背景。