Android利用selector(选择器)实现图片动态点击效果
【摘要】 Android中如果是给图片设置点击事件,为了用户的体验有必要添加动态点击效果
前景与背景
知识点是来自于ImageView中XML的两个属性:src与background
src(前景):存放的是原图的大小,不会进行拉伸,图片是多大就显示多大(scaleType只对src起作用)
background(背景): 能根据ImageView组件中设置的长宽进行拉伸
Demo例子如下:
效果图:
代码如下:
其中前景图片与背景图片分别为
前景:(scaleType只对src起作用,android:scaleType="center"效果为:在视图中心显示图片,且不缩放图片)
背景:
进入主题
在Android中如果是给图片设置点击事件,为了用户的体验有必要添加动态点击效果
效果图如下:
主要代码如下
实现:
第一步:
在控件中设置背景为selector_setting:(记得加clickable标签----->设置是否可以点击)
第二步:创建selector_setting.xml文件:
第三步,找两张不同的图片(博主是用shape实现的):如下:
setting_press.xml
实现的效果:
setting_normal.xml
实现的效果:
源码如下:
selector_setting.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="@drawable/setting_press"/>
<item android:drawable="@drawable/setting_normal"/>
</selector>
setting_press.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--shape:图片形状 oval:椭圆-->
<!--尺寸大小-->
<size android:width="32dp"
android:height="32dp"/>
<!--弧度-->
<corners android:radius="10dp"/>
<!--填充色-->
<solid android:color="#99ffffff"/>
<!--渐变色-->
<solid android:color="#99ffffff"/>
</shape>
setting_normal.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--shape:图片形状 oval:椭圆-->
<!--尺寸大小-->
<size android:width="32dp"
android:height="32dp"/>
<!--弧度-->
<corners android:radius="10dp"/>
<!--填充色-->
<solid android:color="#99ffffff"/>
<!--渐变色-->
<gradient android:startColor="#ff0000"
android:centerColor="#00ff00"
android:endColor="#0000ff"
android:angle="-90"/>
</shape>
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)