Android的:如何使用选择? [英] Android: how to use selector?

查看:127
本文介绍了Android的:如何使用选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用选择,它并没有为我所期望的工作的问题。我想点击它,然后它给了我的反应,我选择它(通过长按,但我可能做到这一点通过编程的方式),那么它给了我另一种反应。然而,它的反应没有什么结果......

反应部分:

 <的TableRow
                    机器人:layout_width =match_parent
                    机器人:layout_height =WRAP_CONTENT
                    机器人:weightSum =10
                    机器人:填充=5DP
                    机器人:背景=@可绘制/ border_bottom
                    >
                    <的LinearLayout
                        机器人:layout_weight =9
                        机器人:layout_width =WRAP_CONTENT
                        机器人:layout_height =WRAP_CONTENT
                        机器人:方向=垂直
                        机器人:背景=@可绘制/ selector_row>
                        <的TextView
                            机器人:layout_width =WRAP_CONTENT
                            机器人:layout_height =WRAP_CONTENT
                            机器人:文字颜色=@彩色/灰度
                            机器人:文本=@字符串/电话/>
                        <的TextView
                            机器人:ID =@ + ID / telText
                            机器人:layout_width =WRAP_CONTENT
                            机器人:TEXTSIZE =18sp
                            机器人:layout_height =WRAP_CONTENT
                            机器人:文本=@字符串/空白/>
                    < / LinearLayout中>
                    <的ImageButton
                        机器人:layout_weight =1
                        机器人:ID =@ + ID / tel_call
                        机器人:layout_width =WRAP_CONTENT
                        机器人:layout_height =WRAP_CONTENT
                        机器人:layout_gravity =center_vertical
                        机器人:SRC =@可绘制/ ic_action_call
                        机器人:背景=@可绘制/ border_left/>
                < /的TableRow>
 

selector_row.xml:

 < XML版本=1.0编码=UTF-8&GT?;
    <选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
        <项目
        机器人:STATE_ pressed =真
        机器人:可绘制=@色/ semitransparent_grey>< /项目>
    <项目
        机器人:state_selected =真
        机器人:可绘制=@色/ semitransparent_blue>< /项目>
    <项目
        机器人:可绘制=@色/透明>< /项目>
    < /选择器>
 

解决方案

创建一个XML文件,并将其放置在绘制文件夹。打开它,并写入以下code:

 <选择
    的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    >
    <项目
        机器人:可绘制=你的形象或颜色

         机器人:STATE_ pressed =真
        机器人:可绘制=你的形象或颜色

          机器人:state_selected =真
        机器人:可绘制=你的形象或颜色

           机器人:state_focused =真
           机器人:可绘制=你的形象或颜色
    />
< /选择器>
 

然后在你的主XML文件,地方安卓背景=@可绘制/ selector.xml

I have a problem of using selector that it does not work as what I expect. I wanna click on it then it gives me reaction and I select it(By long click but I probably do it through programmatic way) then it gives me another reaction. However, it reacts nothing in result....

reaction part:

 <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="10"
                    android:padding="5dp"
                    android:background="@drawable/border_bottom"
                    >
                    <LinearLayout 
                        android:layout_weight="9"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:background="@drawable/selector_row">
                        <TextView 
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@color/grey"
                            android:text="@string/tel"/>
                        <TextView 
                            android:id="@+id/telText"
                            android:layout_width="wrap_content"
                            android:textSize="18sp"
                            android:layout_height="wrap_content"
                            android:text="@string/blank"/>
                    </LinearLayout>
                    <ImageButton
                        android:layout_weight="1"
                        android:id="@+id/tel_call"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:src="@drawable/ic_action_call"
                        android:background="@drawable/border_left"/>                    
                </TableRow>

selector_row.xml:

 <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item 
        android:state_pressed="true"
        android:drawable="@color/semitransparent_grey"></item>
    <item 
        android:state_selected="true"
        android:drawable="@color/semitransparent_blue"></item>
    <item 
        android:drawable="@color/transparent"></item>
    </selector>

解决方案

Create an XML file and place it in the drawable folder. Open it and write the following code:

<selector
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item 
        android:drawable="YOUR IMAGE OR COLOR"

         android:state_pressed="true"
        android:drawable="YOUR IMAGE OR COLOR"

          android:state_selected="true"
        android:drawable="YOUR IMAGE OR COLOR"

           android:state_focused="true"
           android:drawable="YOUR IMAGE OR COLOR"
    />
</selector>

Then in your main XML file, place android:background="@drawable/selector.xml"

这篇关于Android的:如何使用选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆