回答:
いいえ、ありません。ImageView.setAlpha(int)ドキュメントで「関連するXML属性」セクションがどのように欠落しているかを参照してください。別の方法は、XMLの対応物がであるView.setAlpha(float)を使用することです。0から255ではなく0.0から1.0の範囲を取ります。android:alpha
<ImageView android:alpha="0.4">
ただし、後者はAPIレベル11以降でのみ使用できます。
他の応答よりも簡単です。alpha
double値を取るxml値があります。
android:alpha="0.0"
見えない
android:alpha="0.5"
シースルー
android:alpha="1.0"
完全に見える
それがどのように機能するかです。
setAlpha(float)
とandroid:alpha
のみAPI 11(アンドロイド3.0)以来。以前のAPI 11では、コードを使用して画像のアルファを設定する必要がありました。sschuberthがすでに上記のanserで述べたように。
XMLについてはわかりませんが、次のようにコードで実行できます。
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
API 11より前:
API 11以降:
alpha
さまざまなサイズ、位置があるのに、XML属性の対応物がない理由は、私には意味がありません。
多分無地の背景の役に立つ代替品:
入れのLinearLayoutをかけImageViewのと使用のLinearLayoutを不透明フィルタとして。以下は、背景が黒の小さな例です。
<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>
ヴァリ背景:アンドロイドの属性のLinearLayoutの間#00000000(完全に透明)と#FF000000を(完全に不透明)。
アルファは、次の16進形式#ARGBまたは#AARRGGBBを使用して色とともに設定できます。http://developer.android.com/guide/topics/resources/color-list-resource.htmlを参照してください
ImageView.setAlpha(int)
が、int
少し時間android:alpha
がかかってfloatを取っているので、厳密に言うと、後者は前者の正確なXML対応ではありませんが、の対応View.setAlpha(float)
です。また、すでにここで何度も言及されているように、android:alpha
/View.setAlpha(float)
はAPIレベル11以降でのみ使用できます。