如何更改图像的不透明度.

Rah*_*hul 8 android

我有一个背景图像设置为ImageView,现在我想改变图像的不透明度,因为我写这个代码来改变ImageView的不透明度,但是当我这样做它从图像视图中删除背景图像,所以我的问题是如何在不删除背景图像的情况下更改ImageView的不透明度.

我使用的代码是:

ImageView imageView = (ImageView) findViewById(R.id.image_view);

imageView.setBackgroundResource(R.drawable.theme1_page_header); // Set background image

int opacity = 100; // from 0 to 255
imageView.setBackgroundColor(opacity * 0x1000000); // change opacity of image
Run Code Online (Sandbox Code Playgroud)

小智 27

alpha最重要的部分是值必须是十进制的

0 =透明,1 =可见

所以0.5是半途可见

在XML中你可以做到

<ImageView
        android:layout_width="30dp"
        android:layout_height="35dp"
        android:id="@+id/imageView"
        android:alpha="0.4" // <-----------------  this is the fun part
        android:layout_alignParentRight="false"
        android:background="@drawable/imagename"
        android:layout_alignParentLeft="false"
        android:layout_alignParentTop="false"
        android:layout_alignWithParentIfMissing="false"
        android:layout_marginLeft="100dp"
        android:layout_alignParentBottom="false"
        android:layout_alignParentStart="false"
        android:layout_alignTop="@+id/bar"
        android:layout_marginTop="30dp"/>
Run Code Online (Sandbox Code Playgroud)


Ren*_*ith 11

您可以使用

imageView.setAlpha(yourValue); //  some value 0-255 where 0 is fully transparent and 255 is fully opaque
Run Code Online (Sandbox Code Playgroud)

请参阅文档


Tal*_*lha 5

ImageView imageView = (ImageView) findViewById(R.id.image_view);
Drawable dPage_header= getResources().getDrawable(R.drawable.theme1_page_header);

// setting the opacity (alpha)
dPage_header.setAlpha(10);

// setting the images on the ImageViews
imageView.setImageDrawable(dPage_header);
Run Code Online (Sandbox Code Playgroud)