Hay realmente ningún atributo XML contraparte setAlpha(int)?

Si no, ¿qué alternativas hay?

InformationsquelleAutor SK9 | 2011-02-08

9 Comentarios

  1. 160

    No, no la hay, a ver cómo la «Relacionados con los Atributos XML» de la sección es falta en el ImageView.setAlpha(int) documentación. La alternativa es utilizar Vista.setAlpha(float) cuya Homólogo en XML es android:alpha. Se toma un rango de 0.0 a 1.0 en lugar de 0 a 255. Uso que, por ejemplo, como

    <ImageView android:alpha="0.4">

    Sin embargo, esto último sólo disponible desde la API de nivel 11.

    • Sí se puede hacer en xml. Sólo echa un jfcogato respuesta a continuación.
    • Incluso si sólo estoy repitiendo aquí: ImageView.setAlpha(int) es tomar un int mientras android:alpha es tomar un flotador, por lo que estrictamente hablando, el último no es exactamente el XML contraparte a la antigua, pero es la contraparte de View.setAlpha(float). Y como se ha mencionado varias veces ya, aquí android:alpha / View.setAlpha(float) están disponibles a partir de la API de nivel 11 solamente.
    • la diferencia es que el rango aceptable es de 0-1 para el flotador uno y 0-255 para la int uno.
  2. 225

    Es más fácil que la otra respuesta.
    Hay un valor xml alpha que toma dos valores.

    android:alpha="0.0" eso es invisible

    android:alpha="0.5" ver-a través de

    android:alpha="1.0" visible,

    Que es cómo funciona.

    • Hay setAlpha(float) y android:alpha sólo a partir de la API de 11 (Android 3.0). Antes de la API 11 uno debe utilizar el código para establecer el alfa de la imagen. Como sschuberth ya se dijo en anser arriba.
    • Esta debe ser la respuesta correcta!
    • Por qué? Esta respuesta no añade ninguna información en la parte superior de la mina, y por el contrario es menos completa.
    • su respuesta es totalmente correcta, pero la falta de un ejemplo podría hacer que esta respuesta toma más atención que la tuya. Aunque su respuesta se proporciona más información, esta respuesta proporciona una solución más cerca de lo que realmente necesita. Por favor, añadir algunos ejemplos para utilizar lo que han explicado, que absolutamente va a ayudar!
    • Hecho. Hice mi respuesta ahora super-duper-más detallado 😉
    • gracias, @sschuberth. Te has ganado un +1

  3. 46

    No estoy seguro sobre el XML, pero usted puede hacerlo por código, de la siguiente manera.

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

    En pre-API 11:

    • rango es de 0 a 255 (inclusive), siendo 0 transparente y 255 a ser opaca.

    De la API de 11+:

    • rango es de 0f a 1f (inclusive), 0f ser transparente y 1f ser opaca.
    • Sí, lo sé. (Yo esperaba que este estaba implícita en la pregunta.) Un punto de XML a eliminar algo de este código. No tiene sentido para mí por qué alpha no tiene un XML-atributo contraparte cuando varios tamaños, posiciones.
    • me pregunto : ¿por qué es obsoleto? es porque ahora tienen un flotador parámetro?
    • Sí, usted puede utilizar imageView.setAlpha(1.0 f), pero requiere de la API de nivel 11.
  4. 13

    Tal vez una alternativa útil para un llanura-color de fondo:

    Poner un LinearLayout sobre el ImageView y el uso de la LinearLayout como una opacidad del filtro. En la 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 la android:background atributo de la LinearLayout entre #00000000 (totalmente transparente) y #FF000000 (totalmente opaco).

    • No es realmente el mejor de hacerlo para resolver el alfa de un problema de imagen, especialmente en el dispositivo de teléfono.
    • no es el mejor… pero sigue siendo una legítima respuesta.
    • Esto funciona muy bien cuando lo que desea es hacer el fondo transparente, pero NO de su niño. El uso de alfa en el contenedor primario, hace que todos sus childs demasiado transparente
  5. 7

    Ahora hay un XML alternativa:

            <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:alfa=»0.7″

    Con un valor de 0 (transparente) a 1 (opaco).

  6. 3

    Usar este formulario a la antigua versión 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);
  7. 2

    setAlpha(int) está en desuso a partir de la API 16: Android 4.1

    Por favor utilice setImageAlpha(int) lugar

  8. 0

    El alfa se puede configurar junto con el color utilizando el siguiente formato hexadecimal #ARGB o #AARRGGBB.
    Ver http://developer.android.com/guide/topics/resources/color-list-resource.html

    • Quiero configurar el alfa de una imagen usando un atributo XML. ¿Esta ayuda?
    • Estoy utilizando para esto bleand diseños de más de un diseño con una imagen de fondo, seguramente, se establece el alfa de una imagen en la imagen de sí mismo?
    • ¿Qué quiere decir «en la imagen de sí mismo»? Dentro del XML? Un descuido puede ser, pero no hay ningún alfa atributo XML.
    • Me refiero a cuando se crea la imagen debe agregar un nivel de transparencia y la opacidad de la imagen a 50 o cualquier valor que requieren.
    • Estoy MUY sorprendido de que android:tinte no tiene ningún efecto. Se permite un valor de alfa… pero no tiene el efecto en una imagen en blanco :-(((((

Dejar respuesta

Please enter your comment!
Please enter your name here