に相当する XML 属性は本当にないのsetAlpha(int)
でしょうか?
そうでない場合、どのような代替手段がありますか?
に相当する XML 属性は本当にないのsetAlpha(int)
でしょうか?
そうでない場合、どのような代替手段がありますか?
他の回答よりも簡単です。alpha
double 値を取るxml 値があります。
android:alpha="0.0"
それは見えない
android:alpha="0.5"
シースルー
android:alpha="1.0"
完全に見える
それがどのように機能するかです。
いいえ、ありません。ImageView.setAlpha(int) ドキュメントに「関連する XML 属性」セクションがないことを確認してください。別の方法は、対応するXMLが であるView.setAlpha(float)を使用することです。0 から 255 ではなく、0.0 から 1.0 の範囲を取ります。たとえば、次のように使用します。android:alpha
<ImageView android:alpha="0.4">
ただし、後者は API レベル 11 以降でのみ使用できます。
XMLについてはよくわかりませんが、次の方法でコードで実行できます。
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
API 11 より前の場合:
API 11 以降:
無地の背景の代わりになるかもしれません:
ImageViewの上にLinearLayoutを配置し、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>
#00000000 (完全に透明) と#FF000000 (完全に不透明)の間でLinearLayoutのandroid:background属性を変更します。
android:alpha=0.5 を使用して不透明度を 50% にし、Android マテリアル アイコンを黒からグレーに変更します。
アルファは、次の 16 進形式 #ARGB または #AARRGGBB を使用して色と共に設定できます。http://developer.android.com/guide/topics/resources/color-list-resource.htmlを参照してください。
XML Android の不透明度を下げるには、Alpha 属性を使用します。例:
android:alpha="0.6"
ポイント単位で 0.0 ~ 1.0 の範囲の値を入力する必要があります。