DrawableCompat使用:一张图片实现selector效果
来源:互联网 发布:黑魂三捏脸数据 编辑:程序博客网 时间:2024/06/06 00:26
通常情况下,我们实现一个图片按钮被选中的时候会在drawable文件夹下创建一个selector,在selector下添加两张不同颜色的图片,分别定义为:
选中状态(android:state_pressed="true")、默认状态(不设置)。
然而这种做法当然无可厚非,现在给大家提供一种更巧妙的方式来实现这种selector效果:只需要一张图片哟,就一张哟!这种方式可以减少不必要的图片,使app变得更小。
布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:id="@+id/btn_img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:src="@mipmap/pay"/> </RelativeLayout>
代码实现
mBtn_img = (ImageButton) findViewById(R.id.btn_img); Drawable icon = getResources().getDrawable(R.mipmap.pay); Drawable wrap = DrawableCompat.wrap(icon); DrawableCompat.setTintList(wrap,getResources().getColorStateList(R.color.pay_selector));// DrawableCompat.setTintList(wrap, ColorStateList.valueOf(Color.RED)); mBtn_img.setImageDrawable(wrap); mBtn_img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"DrawableCompat:一张图片实现selector",Toast.LENGTH_SHORT).show(); } });
R.color.pay_selector
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/colorAccent" android:state_pressed="true"/> <item android:color="@color/colorPrimary" /></selector>
OK,就这么简单!
0 0
- DrawableCompat使用:一张图片实现selector效果
- ImageView使用一张图片做出selector效果,控件点击出现波纹效果,友好的交互。
- Android selector 最佳写法 用一张图片实现按钮按下和普通效果的样式
- selector使用与ImageButton单击按钮图片效果的实现
- 模拟 手机QQ 点击头部图片 使其变成半透明 使用一张图片实现此效果
- Android中使用ClipDrawable实现缓缓打开一张图片的效果
- Android中妙用Selector实现颜色图片切换效果
- Div+css菜单:一张图片实现翻转效果!
- android view中实现一张图片的渐隐效果
- android仿IOS按钮点击效果,一张图片实现
- android仿IOS按钮点击效果,一张图片实现
- android 使用xml selector设置按钮点击效果图片
- Android笔记- 使用XML selector 设置按钮点击效果图片
- Android 图片着色Tint后向兼容DrawableCompat库实现原理分析并简化封装
- 单击图片实现“原图比例展示、上一张、下一张”类似相册的效果
- 通过BufferedImage实现将几张图片合成一张图片,图片效果类型为依次排列图片
- Android-使用tint一张图制作selector
- android使用selector实现按下去的效果注意事项
- 微信公众号预约第三方平台
- 二叉查找树的实现(插入+递归调用)
- 手把手教你实现Android AIDL跨进程通信
- 2016年蓝桥杯第七届javaB组真题及答案
- awk工具小案例
- DrawableCompat使用:一张图片实现selector效果
- 用框架(frameset和frame)一个网站同时打开多个窗口
- c++构造函数和析构函数详解
- 密码发生器
- 蒟蒻的分块入门
- CTF之catch
- 杭电OJ-A+B for Input-Output Practice (VIII)
- windows 计划任务,执行python脚本
- poj3061 Subsequence 尺取法