web-dev-qa-db-ja.com

Androidおよび(イメージ)ビューアルファのアルファの設定

setAlpha(int)に対応するXML属性は本当にありませんか?

そうでない場合、どのような選択肢がありますか?

108
SK9

いいえ、ありません。 ImageView.setAlpha(int) ドキュメントの「関連XML属性」セクションがmissingである方法を参照してください。別の方法は、 View.setAlpha(float) を使用することです- XMLの同等物Android:alphaです。 0〜255ではなく0.0〜1.0の範囲を取ります。のような

<ImageView Android:alpha="0.4">

ただし、後者はAPIレベル11以降でのみ使用可能です。

150
sschuberth

他の応答よりも簡単です。 double値を取るxml値alphaがあります。

Android:alpha="0.0" thats invisible

Android:alpha="0.5"シースルー

Android:alpha="1.0"フル表示

それが動作する方法です。

224
jfcogato

XMLについてはわかりませんが、次の方法でコードでそれを行うことができます。

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

API 11より前:

  • 範囲は0〜255(両端を含む)で、0は透明、255は不透明です。

API 11以降:

  • 範囲は0f〜1f(両端を含む)です。0fは透明で、1fは不透明です。
46
Umesh

plain-colored backgroundの便利な代替手段かもしれません:

LinearLayoutImageViewの上に置き、不透明度フィルターとしての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>

Android:background属性のLinearLayout#00000000(完全に透明)および#FF000000(完全に不透明)。

13
marnaish

現在、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"

0(透明)〜1(不透明)の値。

7
Sorcerer

android:alpha = 0.5を使用して、不透明度を50%にし、Androidマテリアルアイコンを黒からグレーに変更します。

4
Sachiin Gupta

このフォームを使用して、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);
3
Rafael

setAlpha(int)は、API 16から非推奨です:Android 4.1

代わりにsetImageAlpha(int)を使用してください

2
Alen Lee

次の16進形式#ARGBまたは#AARRGGBBを使用して、色と一緒にアルファを設定できます。 http://developer.Android.com/guide/topics/resources/color-list-resource.html を参照してください

0
Grant