如何做返回选择器与Android市场UI相同?

时间:2012-06-15 07:21:49

标签: android android-layout

如何做这类事件

当我按下“首选项”按钮时,我只需要更改箭头的背景颜色。

enter image description here

我做的是当我放的时候  TextView的android:background="@null"无法显示带蓝色背景的整个视图。

<LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_centerVertical="true"
                android:background="@drawable/btn_selector"
                android:clickable="true" >

                <ImageView
                    android:id="@+id/back_arrow"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:src="@drawable/ic_ab_back_holo_dark" />

                <TextView
                    android:id="@+id/settings_title"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="10dp"
                    android:background="@null" 
                    android:layout_toRightOf="@id/back_arrow"
                    android:gravity="center_vertical"
                    android:text="@string/settings_title"
                    android:textColor="@color/white"
                    android:textSize="22sp" />
            </LinearLayout>

2 个答案:

答案 0 :(得分:0)

使用状态列表drawable作为ImageView的背景(或者如果你愿意,可以改为按钮)。然后你可以设置按钮的背景处于不同的状态(例如,按下时)。

Reference

答案 1 :(得分:0)

只需正常设置textview,黑色背景(#000000)并让imageButton将src设置为可绘制选择器:

    <ImageButton android:id="@+id/imageButton" android:layout_width="fill_parent"
         android:layout_height="wrap_content" android:background="@null" android:gravity="center_horizontal" 
         android:paddingLeft="50dp" android:paddingTop="25dp" android:src="@drawable/button_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/button_pressed"/>
    <item android:state_pressed="false"
            android:drawable="@drawable/button_rested"/>
    <item android:state_enabled="false"
            android:drawable="@drawable/button_disabled"/>
</selector>