FragmentTabHost中的图片和文字点击变换背景

来源:互联网 发布:基于图的推荐算法 编辑:程序博客网 时间:2024/06/11 07:20

效果图:


实现步骤:

1.图片的selector文件,写在drawable下:

selector_icon_home的文件:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- Non focused states -->    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_home" />    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />    <!-- Focused states -->    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />    <!-- Pressed -->    <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_home_press" />    <item android:state_pressed="true" android:drawable="@mipmap/icon_home_press" /></selector>

selector_icon_hot:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- Non focused states -->    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_hot" />    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_hot_press" />    <!-- Focused states -->    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_hot_press" />    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_hot_press" />    <!-- Pressed -->    <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_hot_press" />    <item android:state_pressed="true" android:drawable="@mipmap/icon_hot_press" /></selector>

selector_icon_mine:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- Non focused states -->    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_user" />    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_user_press" />    <!-- Focused states -->    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_user_press" />    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_user_press" />    <!-- Pressed -->    <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_user_press" />    <item android:state_pressed="true" android:drawable="@mipmap/icon_user_press" /></selector>
 

selector_icon_cagetory:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- Non focused states -->    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_discover" />    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_discover_press" />    <!-- Focused states -->    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_discover_press" />    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_discover_press" />    <!-- Pressed -->    <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_discover_press" />    <item android:state_pressed="true" android:drawable="@mipmap/icon_discover_press" /></selector>

selector_icon_cart:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- Non focused states -->    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_cart" />    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_cartfill_press" />    <!-- Focused states -->    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_cartfill_press" />    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_cartfill_press" />    <!-- Pressed -->    <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_cartfill_press" />    <item android:state_pressed="true" android:drawable="@mipmap/icon_cartfill_press" /></selector>

调用:

在javabean中实例化


2.文字的背景,新建一个color文件color属性:

selector_tab_text:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true" android:color="#eb4f38" />    <item android:state_active="true" android:color="#eb4f38"/>    <item android:state_selected="false" android:color="#a9b7b7" />    <item android:state_active="false" android:color="#a9b7b7"/></selector><!--这个select是fragmentTabHost的文字点击背景-->


调用:

<!--这个布局是fragmentTabHost中一个按钮的布局--><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:paddingTop="3dp"    android:paddingBottom="3dp"    android:gravity="center">    <ImageView        android:id="@+id/icon_tab"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />    <TextView        android:id="@+id/txt_indicator"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="2dp"        android:textColor="@color/selector_tab_text"        /></LinearLayout>

0 0
原创粉丝点击