Antworten:
Nein, es gibt keine Informationen darüber , wie der Abschnitt "Verwandte XML-Attribute" in der Dokumentation zu ImageView.setAlpha (int) fehlt . Die Alternative besteht darin, View.setAlpha (float) zu verwenden, dessen XML-Gegenstück ist . Es dauert einen Bereich von 0,0 bis 1,0 anstelle von 0 bis 255. Verwenden Sie es zB wieandroid:alpha
<ImageView android:alpha="0.4">
Letzteres ist jedoch erst seit API-Level 11 verfügbar.
Es ist einfacher als die andere Antwort. Es gibt einen XML-Wert alpha
, der doppelte Werte annimmt.
android:alpha="0.0"
das ist unsichtbar
android:alpha="0.5"
durchschauen
android:alpha="1.0"
voll sichtbar
So funktioniert das.
setAlpha(float)
und android:alpha
nur seit API 11 (Android 3.0). Vor API 11 muss Code verwendet werden, um Alpha für das Bild festzulegen. Wie sschuberth oben bereits in anser sagte.
Ich bin mir über das XML nicht sicher, aber Sie können es auf folgende Weise per Code tun.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
In Pre-API 11:
In API 11+:
alpha
keinen Sinn, warum es kein XML-Attribut-Gegenstück gibt, wenn verschiedene Größen und Positionen dies tun.
Vielleicht eine hilfreiche Alternative für einen einfarbigen Hintergrund:
Platzieren Sie ein LinearLayout über der ImageView und verwenden Sie das LinearLayout als Deckkraftfilter. Im Folgenden ein kleines Beispiel mit schwarzem Hintergrund:
<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>
Variieren Sie das android: background- Attribut des LinearLayout zwischen # 00000000 (vollständig transparent) und # FF000000 (vollständig undurchsichtig).
Es gibt jetzt eine 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" />
Es ist: android: alpha = "0.7"
Mit einem Wert von 0 (transparent) bis 1 (undurchsichtig).
Verwenden Sie Android: Alpha = 0,5, um die Deckkraft von 50% zu erreichen und die Symbole für Android-Material von Schwarz nach Grau zu ändern.
Das Alpha kann zusammen mit der Farbe unter Verwendung des folgenden Hex-Formats #ARGB oder #AARRGGBB eingestellt werden. Siehe http://developer.android.com/guide/topics/resources/color-list-resource.html
ImageView.setAlpha(int)
dauert eineint
Weile,android:alpha
bis ich schwebe, also ist das letztere streng genommen nicht das genaue XML-Gegenstück zum ersteren, sondern das Gegenstück zuView.setAlpha(float)
. Und wie hier bereits mehrfach erwähnt, sindandroid:alpha
/View.setAlpha(float)
nur ab API-Level 11 verfügbar.