How can I make an image transparent on Android?

后端 未结 12 1514
春和景丽
春和景丽 2021-01-30 19:52

I am using a linear layout and frame layout. In the linear layout I keep an image as background and in the frame layout I keep an imageView. In that imageView I give an image.

相关标签:
12条回答
  • 2021-01-30 20:31

    Set an id attribute on the ImageView:

    <ImageView android:id="@+id/myImage"
    

    In your code where you wish to hide the image, you'll need the following code.

    First, you'll need a reference to the ImageView:

    ImageView myImage = (ImageView) findViewById(R.id.myImage);
    

    Then, set Visibility to GONE:

    myImage.setVisibility(View.GONE);
    

    If you want to have code elsewhere that makes it visible again, just set it to Visible the same way:

    myImage.setVisibility(View.VISIBLE);
    

    If you mean "fully transparent", the above code works. If you mean "partially transparent", use the following method:

    int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
    myImage.setAlpha(alphaAmount);
    
    0 讨论(0)
  • 2021-01-30 20:31

    As setAlpha int has been deprecated, setImageAlpha (int) can be used

    ImageView img = (ImageView) findViewById(R.id.img_image);
    img.setImageAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
    
    0 讨论(0)
  • 2021-01-30 20:31

    Image alpha sets just opacity to ImageView which makes Image blurry, try adding tint attribute in ImageView

     android:tint="#66000000"
    

    It can also be done programatically :

    imageView.setColorFilter(R.color.transparent);
    

    where you need to define transparent color in your colors.xml

    <color name="transparent">#66000000</color>
    
    0 讨论(0)
  • 2021-01-30 20:33

    android:alpha does this in XML:

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/blah"
        android:alpha=".75"/>
    
    0 讨论(0)
  • 2021-01-30 20:38

    The method setAlpha(int) from the type ImageView is deprecated.

    Instead of

    image.setImageAlpha(127);
    //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
    
    0 讨论(0)
  • 2021-01-30 20:38

    Use:

    ImageView image = (ImageView) findViewById(R.id.image);
    image.setAlpha(150); // Value: [0-255]. Where 0 is fully transparent
                         // and 255 is fully opaque. Set the value according
                         // to your choice, and you can also use seekbar to
                         // maintain the transparency.
    
    0 讨论(0)
提交回复
热议问题