Android - 按钮按下事件上的图像 - 将图像叠加应用于所有

标签 android image button

我的问题与将图像叠加应用于所有按钮按下事件有关。因此,例如,在具有全息设置的 Android 4.0 及更高版本中,当您按下任何按钮时,它会在按钮上覆盖浅蓝色。在早期版本的android中,它是橙色的。我知道如何设置按钮以使用选择器和项目标签更改 XML 中按下、聚焦和默认的图像,但这需要我制作另一张按钮图像,但带有浅蓝色覆盖层,这意味着我知道每个按钮有 2 张图片。我的应用程序将有很多按钮,我想使应用程序的文件大小尽可能小。

所以问题的关键是,有没有一种方法可以只制作一张图片(浅蓝色 25% 不透明度图像)作为所有按钮按下的叠加层,同时保留我设置的按钮的原始背景在那里?

最佳答案

载入图片。然后在其上绘制 alpha 颜色。

然后使用修改后的图片设置按钮图片。

Bitmap img = BitmapFactory.decodeFile(pathName); // or decodeResource  etc....

Canvas canvas = new Canvas(img);
Paint alphaPaint = new Paint();

// Color to apply.
alphaPaint.setColor(Color.BLUE);
alphaPaint.setAlpha(20);

// Draw rectangle over your image using the alpha colored paint.
canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), alphaPaint);
myButton.setImageBitmap(img );

关于Android - 按钮按下事件上的图像 - 将图像叠加应用于所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13687394/

相关文章:

android - 无法解析 : com. android.support :support-v7:27. 1.1

javascript - 将带有字符串的 javascript 数组发送到 php 操作

java - 如果 Android 中的 Edittext 内部有错误,则发送按钮正在发送数据

java - Android:创建可循环的铃声

Android缺少平台工具

替换自身的 C++ 类?

html - 我网站导航栏的标志消失了

php - Woocommerce 3 商店页面上“添加到购物车”下的“添加额外”按钮

html - 将参数从 Button 传递到 Java spring MVC Controller

android - 如何从模拟器或 pc 中的任何 android 项目获取数据库文件