Как я могу сделать изображение прозрачным на Android?
Я использую линейную компоновку и макет рамки. В линейной компоновке я сохраняю изображение в качестве фона, а в макете кадра я сохраняю изображение. В этом изображенииView я даю изображение.
Теперь я хочу сделать второе изображение (то есть в imageView) прозрачным. Как я могу это сделать?
Ответы
Ответ 1
Попробуйте следующее:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
myImage.setAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
Примечание: setAlpha(int)
устарело в пользу setAlpha(float)
, где 0 полностью прозрачно и 1 полностью непрозрачно. Используйте его как: myImage.setAlpha(0.5f)
Ответ 2
android:alpha
делает это в XML:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/blah"
android:alpha=".75"/>
Ответ 3
Задайте атрибут id в ImageView:
<ImageView android:id="@+id/myImage"
В коде, где вы хотите скрыть изображение, вам понадобится следующий код.
Сначала вам понадобится ссылка на ImageView:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
Затем установите видимость в GONE:
myImage.setVisibility(View.GONE);
Если вы хотите иметь код в другом месте, что делает его видимым снова, просто установите его на Visible так же:
myImage.setVisibility(View.VISIBLE);
Если вы имеете в виду "полностью прозрачный", приведенный выше код работает. Если вы имеете в виду "частично прозрачный", используйте следующий метод:
int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);
Ответ 4
Если вы находитесь в файле XML, используйте следующее, чтобы сделать ваше изображение прозрачным!
android:background="@null"
Ответ 5
В новых версиях Android (по крайней мере, после Android 4.2 (Jelly Bean)) метод setAlpha (int value) обесценивается. Вместо этого используйте метод setAlpha(float value)
, который принимает поплавок между 0 и 1, где 0 - полная прозрачность, а 1 - прозрачность.
Ответ 6
Установите прозрачность с помощью setAlpha(float alpha)
. Следующий код работает для меня, я использовал альфа-значение в float, 0 - 1.
Ответ 7
В XML используйте:
android:background="@android:color/transparent"
Ответ 8
Для прозрачности 20% это сработало для меня:
Button bu = (Button)findViewById(R.id.button1);
bu.getBackground().setAlpha(204);
Ответ 9
Использование:
ImageView image = (ImageView) findViewById(R.id.image);
image.setAlpha(150); // Value: [0-255]. Where 0 is fully transparent
// and 255 is fully opaque. Set the value according
// to your choice, and you can also use seekbar to
// maintain the transparency.
Ответ 10
Метод setAlpha(int)
из типа ImageView устарел.
Вместо
image.setImageAlpha(127);
//value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.