为按钮写了一个selector,一个正常状态,一个点击的状态,用了两张不同的图片。以求达到更好地用户体验。xml格式都正确,设置到ImageButton的src属性中。但是点击时图片并没有变成预想的那张。
经过查找,原来是在写selector的xml时,item的顺序有个严格的要求:正常状态的item必须放到最后,否则将不产生效果。
至于原因,不是很清楚。可能是Android疏忽了的一个小细节。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/arrow_pressed"/>
<!-- 正常状态的item必须放在最后,否则无法生效 -->
<item android:drawable="@drawable/arrow_normal"/>
</selector>
正常状态:
点击状态:
- 大小: 1.8 KB
- 大小: 2.1 KB
分享到:
相关推荐
要实现选中时改变图片状态,我们需要创建一个XML文件(通常放在res/drawable目录下),例如`list_item_selector.xml`,并定义不同状态下的图片。例如: ```xml <selector xmlns:android=...
本教程将详细介绍如何使用Selector来设置Button在可用和不可用状态下的样式,以提高应用的视觉效果和交互性。 Selector在Android中是一种基于状态的选择器,它可以为不同状态下的View定义不同的样式。它允许开发者...
在XML文件中,使用`<selector>`作为根标签,然后包含一系列的`<item>`标签,每个`<item>`定义了一个状态及其对应的Drawable。例如,可以定义一个`<item>`表示按下状态,另一个`<item>`表示默认状态。 3. **状态定义...
在XML文件中定义selector,我们可以使用`<selector>`标签,并在其内部定义各种状态的`<item>`标签。 对于Button,我们可以在`android:background`属性中指定selector资源。例如,创建一个名为`button_selector.xml`...
Selector是XML文件,通常放在res/drawable目录下。它可以根据控件的状态来选择显示不同的图像或颜色。在Button中,我们主要用到两种Selector:一种是background selector(背景选择器),用于改变按钮的背景颜色或...
在Android开发中,Selector是一种非常重要的资源类型,它主要用于定义视图在不同状态下的外观,如按下、聚焦、默认和选中等。本教程将深入探讨Android中的Selector及其使用方法,通过一个完整的Demo来帮助你理解和...
Selector通常是一个XML文件,位于res/drawable目录下,它可以控制按钮、图像视图、背景等视图在不同状态下的颜色、图像等视觉效果。 Android Selector的主要组成部分包括: 1. **状态列表**: 这是Selector的核心,...
在使用file_selector插件时,需要注意以下几点: 在Android系统中,需要添加相关的权限和配置,以确保文件选择功能正常运行; 在iOS系统中,需要在Info.plist文件中添加相关的权限和配置; 在实现多选时,需要使用...
`android selector注入器` 提供了一种高效且便捷的方式来管理这些状态选择器,使得开发者无需手动编写XML文件来定义selector,从而简化了代码并提高了开发效率。 首先,我们要理解什么是Selector。Selector是...
在XML中定义一个selector,可以定义不同状态下的shape或bitmap,当视图状态改变时,selector会自动选择相应的状态并显示。 5. **Animation**: 动画是使应用更加生动和交互性更强的关键。在Android中,XML动画分为两...
在res/drawable目录下创建XML文件,如button_selector.xml,可以定义不同的状态(如按下、聚焦、默认等)及其对应的Drawable。在视图的背景属性中引用这个选择器,视图就会根据其当前状态显示相应的Drawable。例如,...
1. **创建selector文件**:在res/drawable目录下创建一个XML文件,如`icon_selector.xml`,并定义不同状态下的图标样式。 2. **定义状态**:在selector文件中,使用`<item>`标签定义图标在不同状态(如`android:...
在Android开发中,Selector是用于定义控件在不同状态下的颜色、形状等视觉效果的XML文件,特别是对于按钮(Button)这种用户交互频繁的组件,Selector的使用至关重要。标题提到的"为按钮自动生成selector的工具"正是...
然而,值得注意的是,使用此类工具时仍需遵守网站的robots.txt协议,尊重网站的版权和隐私规定,避免非法的数据抓取行为。 总的来说,SelectorGadget是爬虫开发者的得力助手,它简化了CSS选择器的获取过程,提升了...
在创建Selector时,我们通常会用到XML文件来定义各种状态及其对应的图片。例如,我们可以创建一个名为"selector_button.xml"的XML文件,放置在res/drawable目录下,内容如下: ```xml <selector xmlns:android=...
在Android开发中,SelectorDrawable是一种常用的图形元素,用于创建具有不同状态(如按下、焦点、默认)时显示不同图像的视图。Selector是Android资源的一种类型,它定义了一组在不同状态下的Drawables,通常用于...
在XML中,`<selector>`元素包含了多个`<item>`元素,每个`<item>`代表一种状态和相应的视图样式。`<item>`内的`android:state_pressed`、`android:state_focused`等属性定义了状态,而`android:drawable`则定义了...
`Selector`是一种特殊的XML资源文件,它可以根据控件的状态来显示不同的背景图像或颜色。通常情况下,`Selector`文件会被放置在项目的`res/drawable`目录下,并且以`.xml`为后缀。 ##### 2.2 状态匹配原则 `...
在Android开发中,选择器(Selector)是一种非常重要的资源类型,它允许我们为UI组件(如按钮或RadioButton)定义不同的状态,并在用户交互时改变组件的外观。本篇将深入探讨如何通过XML来定制Android的Selector,...
在XML中,Selector通常定义在res/drawable目录下,并且由多个<item>标签组成,每个<item>代表一种状态及其对应的视觉效果。例如: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> ...