Установить прозрачный фон в ImageView в Андроид


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

Я попытался это:

mImageview.setBackgroundResource(R.color.trans);

здесь trans<color name="trans">#00000000 </color>.

22 258

22 ответа:

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

#80000000

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

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

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

В дополнение к тому, что Harshad упомянул:

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

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

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

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

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

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

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

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

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

Примечание

android:background="#CCFF0088" в XML

где СС-значение альфа, ФФ-Красная фактором, 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% - 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

уже есть предопределенная константа. Используйте Color.TRANSPARENT.

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

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

в случае, если вы хотите его в код, просто:

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

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

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

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

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

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

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

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

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

#00000000

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

#00000000
#10000000
#20000000
#30000000

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

в XML-файле задайте атрибут "Альфа"

например

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

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

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

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

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

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

В Android Studio очень просто настроить цвет и непрозрачность с помощью встроенного инструмента:

Android Adjust Color Opacity

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

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

Enter image description here

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

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

    android:background="#000000"
    

    или

    android:background="#FFFFFF"
    

    Image is here

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

  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: эта строка кода предназначена для вашего стиля фона, как что-то особенное или другое для вашей цели. Вы также можете использовать это.

ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

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

#aa000000

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