¿Realmente no hay contrapartida de atributo XML en setAlpha(int)
?Android y configuración alfa para (imagen) vista alfa
Si no, ¿qué alternativas hay?
¿Realmente no hay contrapartida de atributo XML en setAlpha(int)
?Android y configuración alfa para (imagen) vista alfa
Si no, ¿qué alternativas hay?
No, no hay, vea cómo la sección "Atributos XML relacionados" es falta en la documentación ImageView.setAlpha(int). La alternativa es usar View.setAlpha(float) cuyo XML counterpart es android:alpha
. Toma un rango de 0.0 a 1.0 en vez de 0 a 255. Úselo, por ej. como
<ImageView android:alpha="0.4">
Sin embargo, en este último disponible sólo desde el nivel API 11.
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:
En API 11+:
gamaSí, lo sé. (Esperaba que esto estuviera implícito en la pregunta.) Un punto de XML es quitar algo de este código. No tiene sentido para mí por qué 'alpha' no tiene una contraparte de atributo XML cuando varios tamaños, posiciones lo hacen. – SK9
me pregunto: ¿por qué está obsoleto? ¿es porque ahora tienen un parámetro flotante? –
Sí, puede usar imageView.setAlpha (1.0f), pero requiere el nivel de API 11. –
El alfa se puede configurar junto con el color con el siguiente formato hexadecimal #ARGB o #AARRGGBB. Ver http://developer.android.com/guide/topics/resources/color-list-resource.html
Quiero establecer el alfa de una imagen mediante un atributo XML. ¿Esto ayuda? – SK9
Estoy usando esto para crear diseños sobre un diseño con una imagen de fondo, seguramente establecería el alfa de una imagen en la imagen misma. – Grant
¿Qué quiere decir "en la imagen en sí"? Dentro del XML? Puede ser un descuido, pero no hay un atributo alpha XML. – SK9
Tal vez una alternativa útil para un fondo de color liso :
Ponga un LinearLayout sobre el ImageView y utilizar el LinearLayout como un 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>
Variar el androide: Fondo atributo de la LinearLayout entre # 00000000 (totalmente transparente) y # FF000000 (completamente opaco).
) No es realmente el mejor modo de hacerlo para resolver el problema alfa de una imagen, especialmente en el dispositivo del teléfono. –
no es el mejor ... pero sigue siendo una respuesta legítima. – ByteMe
Esto funciona muy bien cuando solo quieres hacer que el fondo sea transparente pero NO es un elemento secundario. Usar alfa en el contenedor principal, hace que todos sus elementos sean transparentes también – noni
Es más fácil que la otra respuesta. Hay un valor xml alpha
que toma valores dobles.
android:alpha="0.0"
eso invisibles
android:alpha="0.5"
ver a través de
android:alpha="1.0"
completa visibles
Eso es como funciona.
Hay 'setAlpha (float)' y 'android: alpha' solo desde API 11 (Android 3.0). Antes de la API 11, uno debe usar el código para establecer alfa para la imagen. Como sschuberth ya dijo en anser arriba. – Salw
¡Esta debería ser la respuesta correcta! – Antonio
@Antonio ¿Por qué? Esta respuesta no agrega ninguna información sobre la mía y, por el contrario, es menos completa. – sschuberth
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);
Existe ahora 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: androide: alfa = "0.7"
Con un valor de 0 (transparente) a 1 (opaco) .
use android: alpha = 0.5 para lograr la opacidad del 50% y para convertir los iconos de Android Material de Negro a Gris.
Sí, se puede hacer en xml. compruebe la respuesta de jfcogato a continuación. – AndroidDev
Incluso si me estoy repitiendo aquí: 'ImageView.setAlpha (int)' está tomando un 'int' mientras que' android: alpha' está tomando un flotante, por lo que estrictamente hablando, este último no es el exacto Contraparte XML de la primera, pero es la contraparte de 'View.setAlpha (float)'. Y como se mencionó varias veces aquí, 'android: alpha' /' View.setAlpha (float) 'están disponibles solo a partir del nivel API 11 – sschuberth
la diferencia es que el rango aceptable es 0-1 para el float y 0-255 para el int. – ataulm