更改背景图像的颜色

时间:2019-07-04 10:52:42

标签: android

我的背景是纯白色,上面有些云。当用户单击屏幕上的对象时,背景图像的白色部分会更改颜色。颜色变化不会影响云层。

直到现在,我一直在photoshop中制作每个单独的背景图像,并将它们加载到onclick方法中。但是现在我想知道是否可能只有一个背景图像,并且当用户单击一个对象时,android可以使用预定义的colors.xml文件更改图像的背景颜色吗?

3 个答案:

答案 0 :(得分:0)

具有用于云的图像,并将布局的背景色设置为白色。当用户单击对象时,视图上将有一个侦听器,以侦听单击并动态更改布局的颜色。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/YourPicture"
    android:id=@+id/root_layout>
 <-- your Views-->
 </LinearLayout>

您的活动文件:

yourView.setOnClickListener(v -> {
 rootLayout.setBackground(ContextCompat.getDrawable(context, R.drawable.draw));
 });

答案 1 :(得分:0)

这取决于您如何绘制图像。如果您要更改的背景是透明的,则可以执行以下操作:

imageView.setBackgroundColor(color)

答案 2 :(得分:0)

不,我认为不可能。