studio - Android y configuración alfa para(imagen) vista alfa
requestfocus android (8)
Ahora hay una alternativa XML:
<ImageView
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/example"
android:alpha="0.7" />
Es: android: alpha = "0.7"
Con un valor de 0 (transparente) a 1 (opaco).
¿Realmente no hay contrapartida de atributo XML para setAlpha(int)
?
Si no, ¿qué alternativas hay?
El alfa se puede configurar junto con el color usando el siguiente formato hexadecimal #ARGB o #AARRGGBB. Ver http://developer.android.com/guide/topics/resources/color-list-resource.html
Es más fácil que la otra respuesta. Hay un valor xml alpha
que toma valores dobles.
android:alpha="0.0"
eso es invisible
android:alpha="0.5"
transparente
android:alpha="1.0"
completo visible
Asi es como funciona.
No estoy seguro del XML, pero puede hacerlo por código de la siguiente manera.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
En pre-API 11:
- el rango es de 0 a 255 (inclusive), 0 es transparente y 255 es opaco.
En API 11+:
- el rango es de 0f a 1f (inclusive), 0f es transparente y 1f es opaco.
No, no, vea cómo falta la sección "Atributos XML relacionados" en la documentación de ImageView.setAlpha(int) . La alternativa es usar View.setAlpha(float) cuya contraparte XML es android:alpha
. Toma un rango de 0.0 a 1.0 en lugar de 0 a 255. Úselo, por ejemplo, como
<ImageView android:alpha="0.4">
Sin embargo, este último está disponible solo desde el nivel 11 de la API.
Tal vez una alternativa útil para un fondo de color liso :
Coloque un LinearLayout sobre ImageView y use LinearLayout como filtro de opacidad. En el siguiente un pequeño ejemplo con un fondo negro:
<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>
Varíe el atributo android: background del LinearLayout entre # 00000000 (totalmente transparente) y # FF000000 (totalmente opaco).
Utilice este formulario para la versión antigua de 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);
usa Android: alpha = 0.5 para lograr la opacidad del 50% y para convertir los iconos de Android Material de Negro a Gris.