Android的:如何使用选择? [英] Android: how to use selector?
本文介绍了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:机器人=http://schemas.android.com/apk/res/android>
<项目
机器人:STATE_ pressed =真
机器人:可绘制=@色/ semitransparent_grey>< /项目>
<项目
机器人:state_selected =真
机器人:可绘制=@色/ semitransparent_blue>< /项目>
<项目
机器人:可绘制=@色/透明>< /项目>
< /选择器>
解决方案
创建一个XML文件,并将其放置在绘制文件夹。打开它,并写入以下code:
<选择
的xmlns:机器人=http://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屋!
查看全文