状态按钮选择器android
Posted
技术标签:
【中文标题】状态按钮选择器android【英文标题】:State button selector android 【发布时间】:2015-07-29 23:42:09 【问题描述】:我需要使用一个状态的按钮选择器。我已阅读有关此主题的互联网上的一些artcicles,但它仍然无法正常工作。 P>
按钮的代码(从布局):
<Button
android:id="@+id/btn_shoot"
android:layout_
android:layout_
android:layout_column="0"
android:layout_gravity="left|bottom"
android:layout_row="2"
android:background="@drawable/button_style"/>
选择代码(绘制):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/button_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/button_default" />
</selector>
感谢对您的期货的答案。 P>
【问题讨论】:
【参考方案1】:你可以试试这个教程。
http://www.mkyong.com/android/android-imagebutton-selector-example/
为按钮状态准备 3 张图片,并将其放入“resource/drawable”文件夹中。
button_normal_green.png – 默认图片按钮。 button_focused_orange.png – 当按钮获得焦点时显示,例如 例如,当手机的键盘在此按钮上移动(聚焦)时。 button_pressed_yellow.png – 按下按钮时显示。现在,在“res/drawable/”文件夹中创建一个新的 XML 文件,使用您想要的任何名称,在这种情况下,我们只需将名称命名为“new_button.xml”。该文件定义了哪个按钮状态属于哪个图像。
现在,您可以通过此 ID 引用此按钮:@drawable/new_button。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed_yellow"
android:state_pressed="true" />
<item android:drawable="@drawable/button_focused_orange"
android:state_focused="true" />
<item android:drawable="@drawable/button_normal_green" />
</selector>
打开“res/layout/main.xml”文件,添加一个普通按钮,并通过“android:background="@drawable/new_button”将背景图片附加到“new_button”上方。
您也可以使用一些形状来代替图像。为三种不同的按钮状态创建三种不同的形状。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#7995A8"
android:startColor="#E8E8E8"
android:endColor="#000000"
android:type="linear"/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"/>
<size
android:
android:/>
<stroke
android:
android:color="#878787"/>
</shape>
希望对你有帮助
【讨论】:
我按照这个教程做了,但是还是不行。 我可以知道你有什么尝试,以便我可以帮助你。 我使用我在问题中写的解决方案、您的解决方案以及在互联网上找到的许多其他解决方案。但是选择器中的按下状态总是被忽略。我尝试以编程方式执行此操作,效果很好。但是当您按下按钮并将手指滑出按钮时(您仍然按下屏幕),手机保持按下状态。以上是关于状态按钮选择器android的主要内容,如果未能解决你的问题,请参考以下文章
Android——图片视图(ImageView)状态开关按钮(ToggleButton)时钟图片透明度滚动和时间选择器