Как сделать изображение прозрачным на Android?

Я использую линейный макет и макет рамы. В линейном макете я сохраняю изображение в качестве фона, а в макете рамки я сохраняю imageView. В этом imageView я даю изображение.

теперь я хочу сделать второе изображение (то есть в книги) прозрачный. Как я могу это сделать?

10 ответов


попробуйте это:

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)


android:alpha это в XML:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/blah"
    android:alpha=".75"/>

установите атрибут id в ImageView:

<ImageView android:id="@+id/myImage"

в вашем коде, где вы хотите скрыть изображение, вам понадобится следующий код.

во-первых, вам понадобится ссылка на ImageView:

ImageView myImage = (ImageView) findViewById(R.id.myImage);

затем установите видимость в GONE:

myImage.setVisibility(View.GONE);

если вы хотите иметь код в другом месте, который делает его видимым снова, просто установите его видимым таким же образом:

myImage.setVisibility(View.VISIBLE);

если вы имеете в виду "полностью прозрачной", приведенный выше код работает. Если вы имеете в виду "частично прозрачный", используйте следующий метод:

int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);

Если вы находитесь в XML-файле, используйте следующее, чтобы сделать imageview прозрачным!

 android:background="@null" 

в более новых версиях Android (post Android 4.2(Jelly Bean) по крайней мере) метод setAlpha (int value) амортизируется. Вместо этого, используйте setAlpha(float value) метод, который принимает float между 0 и 1, где 0-полная прозрачность, а 1-нет прозрачности.


установить прозрачность с помощью setAlpha(float alpha). Ниже код работает для меня, я использовал Альфа-значение в float, 0-1.

  • 0: Полностью Прозрачный
  • 0.5 - 50%: прозрачный
  • 1: Непрозрачные

    книги книги = (графическое представление) itemView.команду findViewById(Р. ИД.книги); просмотрщик фото.setImageResource (mResources[позиция]); просмотрщик фото.setAlpha(.80f);


в XML используйте:

android:background="@android:color/transparent"

метод setAlpha(int) из типа ImageView устарел.

вместо

image.setImageAlpha(127);
//value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.

для прозрачности 20% это сработало для меня:

Button bu = (Button)findViewById(R.id.button1);
bu.getBackground().setAlpha(204);

использование:

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.