您的位置:首页 > 其它

利用按钮选择器实现TabHost点击的时候切换图片

2013-06-15 10:52 796 查看
首先要定义一个home_lable.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<FrameLayout
android:id="@+id/home_label_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/home_label_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/history_button_selector" />
</FrameLayout>

</LinearLayout>

然后定义selector:

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/tab_personal_centre_selected" />
<item android:state_selected="true" android:drawable="@drawable/tab_personal_centre_selected" />
<item android:drawable="@drawable/tab_personal_centre_default" />
</selector>
在Activity中首先要先获取到View:

View view = LayoutInflater.from(this).inflate(R.layout.home_label,null);

然后通过这个view找到home_label.xml中的ImageView(PS:必须为ImageView,ImageButton不能用),找到ImageView之后就设置相应的selector即可

((ImageView) view.findViewById(R.id.home_label_icon)).setImageResource(R.drawable.open_door_button_selector);
最后就是添加Tab了:

th.addTab(th.newTabSpec("tab1").setIndicator(view).setContent(new Intent(x.this, y.class)));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: