Установить прозрачный фон imageview на Android

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

Я попробовал это:

mImageview.setBackgroundResource(R.color.trans);

куда trans<color name="trans">#00000000 </color>,

26 ответов

Решение

В вашем XML установите Background приписать любому цвету, White(#FFFFFF) тень или Black(#000000) оттенок. Если вы хотите прозрачности, просто поставьте 80 перед фактическим хеш-кодом:

#80000000

Это изменит любой цвет на прозрачный..:)

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

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

В дополнение к тому, что упоминал Харшад:

Два шестнадцатеричных символа могут быть добавлены к любому шестнадцатеричному цветному коду. Первые два символа в 8-значном шестнадцатеричном цветовом коде представляют его непрозрачность в Android.

Два шестнадцатеричных символа могут варьироваться от 00 до FF. Например,

  • Нормальный непрозрачный черный гекс- "#000000"
  • Полностью прозрачный - "#00000000"
  • Полностью непрозрачный - "# FF000000"
  • 50% прозрачность - "#7F000000"

Таким образом, вы можете изменить любой цвет на любой уровень прозрачности.

Чтобы найти шестнадцатеричный префикс в процентах:

Разделите процентное число на 100 и умножьте на 255, чтобы получить десятичное значение. Преобразуйте десятичное число в шестнадцатеричное здесь.

Например, для 50%, 50/100 * 255 = 127. Используя ссылку, мы получаем шестнадцатеричное значение 7F.

Источник: Android: как создать прозрачный или непрозрачный фон

Если вы хотите добавить прозрачность 20% или 30%, вы должны предварительно добавить еще два символа в шестнадцатеричный код, например CC.

Заметка

android:background="#CCFF0088" в XML

где CC - это альфа-значение, FF - красный, 00 - зеленый и 88 - синий.

Некоторый код непрозрачности:

Шестнадцатеричные значения непрозрачности

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5%  — 0D
0% —  00

Вы также можете установить непрозрачность программно, например:

yourView.getBackground().setAlpha(127);

Установите непрозрачность от 0 (полностью прозрачный) до 255 (полностью непрозрачный). 127,5 это точно 50%.

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

 16 |128          Where 128 is the half of 256.
    |8 -0         So it means 80 is half transparent.

И для 25% прозрачности:

16 |64            Where 64 is the quarter of 256.
   |4 -0          So it means 40 is quarter transparent.

Используйте код ниже для черного:

<color name="black">#000000</color>

Теперь, если вы хотите использовать непрозрачность, вы можете использовать следующий код:

<color name="black">#99000000</color>

И ниже для кода непрозрачности:

100% - FF

95% - F2

90% - E6

85% - D9

80% - СС

75% - BF

70% - B3

65% - А6

60% - 99

55% - 8C

50% - 80

45% - 73

40% - 66

35% - 59

30% - 4D

25% - 40

20% - 33

15% - 26

10% - 1А

5% - 0D

0% - 00

Уже есть предопределенная константа. использование Color.TRANSPARENT,

В Android уже встроен прозрачный: R.color.transparent. http://developer.android.com/reference/android/R.color.html

Но я думаю, что вы, возможно, захотите сделать фон изображения, который вы помещаете в WebView, прозрачным, например, с прозрачным PNG, а не фоном ImageView. Если фактическое изображение не совсем прозрачное, то фон ImageView не может быть виден через него.

Попробуйте этот код:)

Это полностью прозрачный гекса код - "# 00000000"

Если вы хотите это в коде, просто:

mComponentName.setBackgroundColor(Color.parseColor("#80000000"));

Используйте этот код для прозрачного цвета

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

В вашем XML-файле установите атрибут "Альфа"

такие как

android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque

Вы можете указать любое значение от 0, 0 до 1, 0 в десятичном виде, чтобы применить требуемую прозрачность. Например, прозрачность 0,5 идеально подходит для отключенного компонента

В xml

      @android:color/transparent

В коде

      mComponentName.setBackgroundResource(android.R.color.transparent)

Или, в качестве альтернативы, проанализируйте идентификатор ресурса с помощью следующего кода:

  mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));

В Android Studio очень просто настроить цвет и прозрачность, используя встроенный инструмент:

Android отрегулируйте непрозрачность цвета

Для тех, кто все еще сталкивается с этой проблемой, вы можете попробовать это
element.getBackground().setAlpha(0);

Используйте следующее для полной прозрачности:

#00000000

Когда я попробовал с #80000000, у меня появилось черное прозрачное наложение, которое я не хочу. Попробуйте изменить первые две цифры; он контролирует уровень прозрачности, как

#00000000
#10000000
#20000000
#30000000

Еще один простой способ:

mComponentName.setBackgroundResource(android.R.color.transparent);

Другой рабочий вариант, с которым я столкнулся, - это установить android:background="@null"

Попробуйте использовать следующий код. Это поможет вам в полной мере или больше.

  1. Файл.xml, предназначенный для использования этого кода для установки цвета фона:

    android:background="#000000"
    

    или же

    android:background="#FFFFFF"
    

    Или вы можете установить его программно.

  2. Также вы можете использовать этот код программно:

    image.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.llabackground));
    
  3. Также этот код для установки цвета фона, а также программно:

    image.setBackgroundColor(Color.parseColor("#FFFFFF"));
    
  4. Этот код для того же программного:

    image.setBackgroundColor(getResources().getColor(Color.WHITE));
    

Цвет зависит от вашего выбора, какой цвет вы хотите использовать для прозрачного. В основном используйте белый или #FFFFFF цвет.

относительно R.drawable.llabackground: Эта строка кода для вашего стиля фона, как что-то особенное или другое для ваших целей. Вы также можете использовать это.

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

<color name="black">#99000000</color> 

Вы также можете использовать View.setAlpha(float) изменить видимость точно.

0 будет прозрачным, 1 полностью видимым.;)

Определения цвета с информацией о прозрачности могут быть в форме

#AARRGGBB или #ARGB.

Вы также можете использовать более короткое значение для полной прозрачности: # 0000.

Другие значения, например:

white  grey   black
#FFFF  #F888  #F000 - full color
#EFFF  #E888  #E000
#DFFF  #D888  #D000
#CFFF  #C888  #C000
#BFFF  #B888  #B000
#AFFF  #A888  #A000
#9FFF  #9888  #9000
#8FFF  #8888  #8000
#7FFF  #7888  #7000
#6FFF  #6888  #6000
#5FFF  #5888  #5000
#4FFF  #4888  #4000
#3FFF  #3888  #3000
#2FFF  #2888  #2000
#1FFF  #1888  #1000
#0FFF  #0888  #0000 - full transparency

используйте RelativeLayout, в котором есть 2 изображения. и установите код прозрачности в верхнем imageView.

код прозрачности:

      <solid android:color="@color/white"/>
<gradient android:startColor="#40000000"   android:endColor="#FFFFFFFF" android:angle="270"/>

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

#aa000000

Для прозрачности 000000 = черный, вы можете изменить эти шесть чисел на нужный вам цвет.

ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

Преобразуйте процент в шестнадцатеричный с помощью любого онлайн-инструмента, а не просто добавьте его перед значением цвета

Пример: использование https://www.joshuamiron.com/percent-to-hex-converter

Непрозрачность 80% будет

       <color name="opaque_80_percent">#CC000000</color>
Другие вопросы по тегам