Respostas:
Não, não há, veja como a seção "Atributos XML relacionados" está ausente na documentação ImageView.setAlpha (int) . A alternativa é usar o View.setAlpha (float) cuja contraparte XML é android:alpha
. É preciso um intervalo de 0,0 a 1,0 em vez de 0 a 255. Use-o, por exemplo, como
<ImageView android:alpha="0.4">
No entanto, este último está disponível apenas desde o nível 11 da API.
É mais fácil que a outra resposta. Há um valor xml alpha
que recebe valores duplos.
android:alpha="0.0"
isso é invisível
android:alpha="0.5"
transparente
android:alpha="1.0"
totalmente visível
É assim que funciona.
setAlpha(float)
e android:alpha
somente desde a API 11 (Android 3.0). Antes da API 11, é necessário usar o código para definir alfa para a imagem. Como sschuberth já disse em anser acima.
Não tenho certeza sobre o XML, mas você pode fazê-lo por código da seguinte maneira.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
Na pré-API 11:
Na API 11+:
alpha
que não tem uma contrapartida de atributo XML quando vários tamanhos, posições têm.
Talvez uma alternativa útil para um fundo de cor lisa :
Coloque um LinearLayout sobre o ImageView e use o LinearLayout como um filtro de opacidade. A seguir, um pequeno exemplo com fundo preto:
<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>
Varie o atributo android: background do LinearLayout entre # 00000000 (totalmente transparente) e # FF000000 (totalmente opaco).
Agora existe uma 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" />
É: android: alpha = "0.7"
Com um valor de 0 (transparente) a 1 (opaco).
use android: alpha = 0.5 para obter a opacidade de 50% e transformar os ícones de materiais do Android de preto para cinza.
O alfa pode ser definido junto com a cor usando o seguinte formato hexadecimal #ARGB ou #AARRGGBB. Consulte http://developer.android.com/guide/topics/resources/color-list-resource.html
ImageView.setAlpha(int)
está demorando umint
pouco paraandroid:alpha
tomar uma flutuação, então, estritamente falando, o último não é o equivalente XML exato do primeiro, mas é o equivalenteView.setAlpha(float)
. E como já foi mencionado várias vezes aqui,android:alpha
/View.setAlpha(float)
estão disponíveis a partir de apenas o nível API 11.