Я использую веб-вид, в который я добавляю вид изображения. Как я могу установить фон этого изображения прозрачным?
Я пробовал это:
mImageview.setBackgroundResource(R.color.trans);
Где trans
→ <color name="trans">#00000000 </color>
.
Я использую веб-вид, в который я добавляю вид изображения. Как я могу установить фон этого изображения прозрачным?
Я пробовал это:
mImageview.setBackgroundResource(R.color.trans);
Где trans
→ <color name="trans">#00000000 </color>
.
Ответы:
В вашем XML установите Background
атрибут любого цвета, White(#FFFFFF)
оттенка или Black(#000000)
оттенка. Если вы хотите прозрачности, просто поставьте 80 перед фактическим хеш-кодом:
#80000000
Это изменит любой цвет на прозрачный .. :)
View.setBackgroundResource(R.drawable.something)
?
View.getBackground().setAlpha(50)
. Не может быть проще, верно? : о) В любом случае, спасибо за вашу помощь !!
#10000000
черный с меньшей прозрачностью - #99000000
Вы можете установить прозрачный фон любого макета, любого представления или любого компонента, добавив этот код в XML:
android:background="@android:color/transparent"
android:background="#00ffffff"
В дополнение к тому, что упомянул Харшад:
Два шестнадцатеричных символа могут быть добавлены к любому шестнадцатеричному цветному коду. Первые два символа в 8-значном шестнадцатеричном цветовом коде представляют его непрозрачность в Android.
Два шестнадцатеричных символа могут варьироваться от 00 до FF. Например,
Таким образом, вы можете изменить любой цвет на любой уровень прозрачности.
Чтобы найти шестнадцатеричный префикс в процентах:
Разделите число в процентах на 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
.
Color.TRANSPARENT
установлено на 0x00000000
(а не на ожидаемую непрозрачность 0xFF000000
), поэтому в зависимости от того, как вы это сделаете, эта константа может не помочь в достижении прозрачности! Еще +1 за рекомендацию константы!
В Android уже встроен прозрачный: R.color.transparent. http://developer.android.com/reference/android/R.color.html#transparent
Но я думаю, что вы можете сделать фон изображения, который вы помещаете в WebView, прозрачным, например, с прозрачным PNG, а не фоном ImageView. Если фактическое изображение не совсем прозрачное, то фон ImageView не может быть виден через него.
Если вы хотите это в коде, просто:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
Или, в качестве альтернативы, проанализируйте идентификатор ресурса с помощью следующего кода:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
В вашем XML-файле установите атрибут «Альфа»
Такие как
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
Вы можете указать любое значение от 0,0 до 1,0 в десятичном виде, чтобы применить требуемую прозрачность. Например, прозрачность 0,5 идеально подходит для отключенного компонента
Для тех, кто все еще сталкивается с этой проблемой, вы можете попробовать это
element.getBackground().setAlpha(0);
NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setAlpha(int)' on a null object reference
element
если это нулевой объект
Для полной прозрачности используйте следующее:
#00000000
Когда я попробовал с # 80000000, у меня появилось черное прозрачное наложение, которое я не хочу. Попробуйте изменить первые две цифры; он контролирует уровень прозрачности, как
#00000000
#10000000
#20000000
#30000000
Еще один простой способ:
mComponentName.setBackgroundResource(android.R.color.transparent);
Вы также можете использовать View.setAlpha(float)
для точного изменения видимости.
0 будет прозрачным, 1 полностью видимым. ;)
Попробуйте использовать следующий код. Это поможет вам в полной мере или больше.
Файл .xml, предназначенный для использования этого кода для установки цвета фона:
android:background="#000000"
или
android:background="#FFFFFF"
Или вы можете установить его программно.
Также вы можете использовать этот код программно:
image.setBackgroundDrawable(getResources().getDrawable(
R.drawable.llabackground));
Также этот код для установки цвета фона, а также программно:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
Этот код для того же программного:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
Цвет зависит от вашего выбора, какой цвет вы хотите использовать для прозрачного. В основном используйте белый или #FFFFFF цвет.
Относительно R.drawable.llabackground
: Эта строка кода для вашего стиля фона, как что-то особенное или другое для вашей цели. Вы также можете использовать это.
Определения цвета с информацией о прозрачности могут быть в форме
#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
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
Попробуй это:
#aa000000
Для прозрачности 000000 = черный, вы можете изменить эти шесть чисел на нужный вам цвет.