真的没有对应的 XML 属性setAlpha(int)
吗?
如果没有,有什么替代方案?
它比其他响应更容易。有一个 xml 值alpha
采用双精度值。
android:alpha="0.0"
那是看不见的
android:alpha="0.5"
透视
android:alpha="1.0"
完全可见
这就是它的工作原理。
不,没有,请参阅ImageView.setAlpha(int)文档中如何缺少“相关 XML 属性”部分。另一种方法是使用XML 对应的View.setAlpha(float)。它的范围是 0.0 到 1.0 而不是 0 到 255。使用它,例如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属性。
现在有一个 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(不透明)。
setAlpha(int)
自 API 起已弃用16
:Android 4.1
请setImageAlpha(int)
改用
使用 android:alpha=0.5 来实现 50% 的不透明度,并将 Android Material 图标从黑色变为灰色。
将此表单用于古代版本的 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);
可以使用以下十六进制格式 #ARGB 或 #AARRGGBB 设置 alpha 和颜色。见http://developer.android.com/guide/topics/resources/color-list-resource.html
要降低 XML Android 中任何内容的不透明度,请使用 Attribute Alpha。例子:
android:alpha="0.6"
您必须输入介于 0.0 到 1.0 之间的值,以磅为单位。