<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补丁图像不展开?
答案 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的背景。