Android and setting alpha for (image) view alpha

AndroidXmlAndroid LayoutAndroid ImageviewAlpha

Android Problem Overview


Is there really no XML attribute counterpart to setAlpha(int)?

If not, what alternatives are there?

Android Solutions


Solution 1 - Android

It's easier than the other response. There is an xml value alpha that takes double values.

android:alpha="0.0" thats invisible

android:alpha="0.5" see-through

android:alpha="1.0" full visible

That's how it works.

Solution 2 - Android

No, there is not, see how the "Related XML Attributes" section is missing in the ImageView.setAlpha(int) documentation. The alternative is to use View.setAlpha(float) whose XML counterpart is android:alpha. It takes a range of 0.0 to 1.0 instead of 0 to 255. Use it e.g. like

<ImageView android:alpha="0.4">

However, the latter in available only since API level 11.

Solution 3 - Android

I am not sure about the XML but you can do it by code in the following way.

ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);

In pre-API 11:

  • range is from 0 to 255 (inclusive), 0 being transparent and 255 being opaque.

In API 11+:

  • range is from 0f to 1f (inclusive), 0f being transparent and 1f being opaque.

Solution 4 - Android

Maybe a helpful alternative for a plain-colored background:

Put a LinearLayout over the ImageView and use the LinearLayout as a opacity filter. In the following a small example with a black background:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000" >

<RelativeLayout
    android:id="@+id/relativeLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_stop_big" />

    <LinearLayout
        android:id="@+id/opacityFilter"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#CC000000"
        android:orientation="vertical" >
    </LinearLayout>
</RelativeLayout>

Vary the android:background attribute of the LinearLayout between #00000000 (fully transparent) and #FF000000 (fully opaque).

Solution 5 - Android

There is now an XML alternative:

        <ImageView
        android:id="@+id/example"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/example"
        android:alpha="0.7" />

It is: android:alpha="0.7"

With a value from 0 (transparent) to 1 (opaque).

Solution 6 - Android

setAlpha(int) is deprecated as of API 16: Android 4.1

Please use setImageAlpha(int) instead

Solution 7 - Android

use android:alpha=0.5 to achieve the opacity of 50% and to turn Android Material icons from Black to Grey.

Solution 8 - Android

Use this form to ancient version of android.

ImageView myImageView;
myImageView = (ImageView) findViewById(R.id.img);

AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F);
alpha.setDuration(0); 
alpha.setFillAfter(true); 
myImageView.startAnimation(alpha);

Solution 9 - Android

The alpha can be set along with the color using the following hex format #ARGB or #AARRGGBB. See http://developer.android.com/guide/topics/resources/color-list-resource.html

Solution 10 - Android

To reduce the opacity of anything in XML Android, use the Attribute Alpha. Example:

android:alpha="0.6"

You must enter the value between range of 0.0 to 1.0, in points.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSK9View Question on Stackoverflow
Solution 1 - AndroidjfcogatoView Answer on Stackoverflow
Solution 2 - AndroidsschuberthView Answer on Stackoverflow
Solution 3 - AndroidUmeshView Answer on Stackoverflow
Solution 4 - AndroidmarnaishView Answer on Stackoverflow
Solution 5 - AndroidSorcererView Answer on Stackoverflow
Solution 6 - AndroidAlen LeeView Answer on Stackoverflow
Solution 7 - AndroidSachiin GuptaView Answer on Stackoverflow
Solution 8 - AndroidRafaelView Answer on Stackoverflow
Solution 9 - AndroidGrantView Answer on Stackoverflow
Solution 10 - AndroidRehan KhanView Answer on Stackoverflow