android颜色过滤,android – 将颜色过滤器添加到Drawable使用相...

news/2024/7/8 7:27:33

我有一个屏幕,其中多个按钮使用相同的背景Drawable.我有可重用的代码,我在各种项目中使用它来添加一个OnTouch监听器,在触摸按钮时添加灰色滤色器.这通常可以正常工作,但在这种情况下,当按下任何按钮时,所有按钮都会着色.

Note: Each unique resource in your project can maintain only one

state, no matter how many different objects you may instantiate for

it. For example, if you instantiate two Drawable objects from the same

image resource, then change a property (such as the alpha) for one of

the Drawables, then it will also affect the other.

建议的解决方案是使用TweenAnimation,它似乎不适用于滤色器.

我还看到了Android: Cloning a drawable in order to make a StateListDrawable with filters,建议使用drawable.getConstantState().newDrawable().这似乎没有什么区别.我猜测只要使用相同的物理图像文件,所有Drawables都会受到使用相同资源对任何其他Drawable的更改的影响.

除了创建第二个背景图像以显示按下状态之外,还有什么解决方案?有一个简单的程序化解决方案,我可以添加到我的代码并在每个项目中使用,这将是一件好事.


http://www.niftyadmin.cn/n/3170173.html

相关文章

linux文件自动切割,linux上大文件切割成小文件传输

Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBufferAtitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer 1. Java NIO(New Input/Output)1 1.1. 变更通知(因为每个事件都需要一个监听者 ...学习mongo系列(八)密…

android view滑动检查,Android ViewPager检测滑动超出范围

在我的Android应用程序中,我正在使用viewpager进行图像滑动.我的要求是,如果用户从第一页和最后一页滑出,则该活动应完成.我已将此值设为example.但是在我的活动中未调用方法setOnSwipeOutListener.这是我的自定义视图寻呼机类:public class CustomViewPager extend…

Python全栈开发-有趣的小程序

进度条的打印 import sys,time  for i in range(20):     sys.stdout.write($) #stdout是标准输出的意思,在一般电脑上,stdout的标准输出指的是计算机屏幕。     sys.stdout.flush()     time.sleep(0.1) 单线程下的并发运算&#xf…

android tv 新游,新游 | 《英雄之剑》TV版震撼来袭 阿里平台首发再掀全民格斗

原标题:新游 | 《英雄之剑》TV版震撼来袭 阿里平台首发再掀全民格斗互动旗下2015全民格斗游戏《英雄之剑》由手机辗转电视,终于在今日登陆,继续在大屏幕上延续永久不灭的格斗激情。这个夏天,在电视上体验华丽画面带来的极致感官享…

android sd卡无法挂载,内外SD卡无法挂载的BUG修复方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我们在对安卓ROM进行移植的时候,因为移植相对来说比较麻烦,经常会出现很多的问题,特别是常出现的一个问题,就是ROM移植之后无法挂载内外SD卡。接下来就来看看如何去修复移植ROM后无法…

linux关机自动umount,linuxmount/umount命令的基本用法及开机自动挂载

格式:mount [-参数] [设备名称] [挂载点]其中常用的参数有:-a 安装在/etc/fstab文件中类出的所有文件系统。-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。-n 不把安装记录在/etc/mtab 文件中。-r 讲文件系统安…

viper4android 6.0系统,VIPER4Android最新版本

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这么叼。。。 如你每天签到拿4经验,18级300000/475000天,如果从1岁开始签到,那100年36500天,你差不多要活200年保持每天签到(谁知道200年后还有没有签到这玩意),如果你每天…

linux源码编译安装apache,Linux下apache源码安装

1.安装准备(1)下载apache安装包http://archive.apache.org/dist/httpd/2.下载安装 apache 依赖关联包(共四个:apr,apr-iconv,apr-util,pcre)http://archive.apache.org/dist/apr/(1)安装apr# tar zxvf apr-1.4.6.tar.gz# cd apr-1…