android动态修改drawable颜色及大小
16lz
2021-01-26
如果没有美工自己又不会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就可以。
更多相关文章
- android 内置的短信等调用代码
- Android(安卓)PackageManagerService(四)本地安装流程详解
- Android(安卓)调用Remote Service方法
- Android(安卓)View刷新机制
- Android之AppWidget的按钮事件开启Activity
- Android(安卓)O media difference(add HIDL)
- Android标准调用播放器流程
- android linphone中opengl显示的实现
- Kivy A to Z -- Android(安卓)apk的生成过程