博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android动态修改drawable颜色及大小
阅读量:3976 次
发布时间:2019-05-24

本文共 831 字,大约阅读时间需要 2 分钟。

如果没有美工自己又不会PS,或者为了减少图片资源,可以采取动态修改drawable的方式实现按钮点击效果,首先,准备一份drawable图片资源,然后调用以下方法即可:

public Drawable tintDrawable(Drawable drawable, ColorStateList colors) {        final Drawable wrappedDrawable = DrawableCompat.wrap(drawable);        DrawableCompat.setTintList(wrappedDrawable, colors);        return wrappedDrawable;    }    private void setDrawable(Button button, Drawable drawable, int color) {        drawable = tintDrawable(drawable, ColorStateList.valueOf(color));        DisplayMetrics dm = new DisplayMetrics();        getWindowManager().getDefaultDisplay().getMetrics(dm);        int size;        size = 90 * dm.heightPixels / 2560;        drawable.setBounds(0, 0, size, size);        button.setCompoundDrawables(null, drawable, null, null);        button.setTextColor(color);    }

监听按钮按下和松开事件,调用setDrawable传入不同color就可以。

转载地址:http://sorki.baihongyu.com/

你可能感兴趣的文章
K-近邻算法改进约会网站的配对效果
查看>>
快速排序算法及其优化方法
查看>>
VC++ string .........
查看>>
RoboCup2d 环境配置
查看>>
[转载]int,int32_t,int64_t
查看>>
LINUX 下 GDB 调试 ( 转载 )
查看>>
GDB 、 LINUX 下 GDB 调试 小结---->基础知识!
查看>>
Linux下静态库和动态库的创建和使用( 转载 )
查看>>
makefile:中文版最权威的makefile文档( 转载 )
查看>>
linux 编译警告:检测到时钟错误。您的创建可能是不完整的。
查看>>
Linux目录结构(Linux文件系统结构)( 转载 )
查看>>
ubuntu 必要软件 ( 转载 )
查看>>
linux sed 流编辑器的一些应用实例
查看>>
sed 流编辑器的特殊应用( 转载 )
查看>>
Linux 进程通信(System V) 第一节 ------> 管道 pipe
查看>>
一个简单web服务器的java实现
查看>>
C++ 中成员函数指针?
查看>>
linux shell 历史命令记录功能
查看>>
Django用户认证系统 authentication system----登陆访问限制@login_required
查看>>
Change data directory – PostgreSQL
查看>>