我正在尝试使用没有任何背景的ImageView。我知道我可以使用
imageView.setVisibility(INVISIBLE);
和
imageView.setBackgroundColor(Color.TRANSPARENT);
我想知道哪一个更有效率?或者任何额外的解决方案?
这两条线的目的不同,因此您实际上不必比较它们的效率。
第一个更改视图可见性,因此仍然绘制整个视图,占用布局中的空间,但目前不可见。
另一方面,如果具有不可见背景的ImageView
具有不为空的android:src
,则它仍然可见。
下面是一个将两者一起使用的随机示例:它是一个具有透明背景的图像视图,但具有源图像,其可见性会根据特定条件而变化,因此可以INVISIBLE
或VISIBLE
:
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:visibility="@{!obj.mealbox}"
android:background="@android:color/transparent"
android:src="@drawable/ic_list_sorting_close"
app:tint="@color/dish_icon_color" />
既然你的目的是
使用没有任何背景的图像视图。
只有第二个选项有效。
您可以使用imageView.setAlpha(127);