Korzystam z widoku internetowego, w którym dodaję widok obrazu. Jak ustawić przezroczystość tła tego widoku obrazu?
Próbowałem tego:
mImageview.setBackgroundResource(R.color.trans);
Gdzie trans
→ <color name="trans">#00000000 </color>
.
Korzystam z widoku internetowego, w którym dodaję widok obrazu. Jak ustawić przezroczystość tła tego widoku obrazu?
Próbowałem tego:
mImageview.setBackgroundResource(R.color.trans);
Gdzie trans
→ <color name="trans">#00000000 </color>
.
Odpowiedzi:
W swoim XML ustaw Background
atrybut na dowolny kolor, White(#FFFFFF)
odcień lub Black(#000000)
odcień. Jeśli chcesz przezroczystości, po prostu wstaw 80 przed rzeczywistym kodem skrótu:
#80000000
Spowoduje to zmianę dowolnego koloru na przezroczysty .. :)
View.setBackgroundResource(R.drawable.something)
?
View.getBackground().setAlpha(50)
. Nie może być prościej, prawda? : o) W każdym razie dzięki za pomoc !!
#10000000
Czarny z mniejszą przezroczystością - #99000000
Możesz ustawić przezroczyste tło dla dowolnego układu, dowolnego widoku lub dowolnego komponentu, dodając ten kod w XML:
android:background="@android:color/transparent"
android:background="#00ffffff"
Oprócz tego, o czym wspomniał Harshad:
Do każdego szesnastkowego kodu koloru można dodać dwa znaki szesnastkowe. Pierwsze dwa znaki w 8-cyfrowym kodzie szesnastkowym oznaczają jego nieprzezroczystość w systemie Android.
Dwa znaki szesnastkowe mogą mieć zakres od 00 do FF. Na przykład,
W ten sposób możesz zmienić dowolny kolor do dowolnego poziomu przezroczystości.
Aby znaleźć prefiks szesnastkowy z wartości procentowej:
Podziel liczbę procentową przez 100 i pomnóż przez 255, aby uzyskać wartość dziesiętną. Tutaj zamień liczbę dziesiętną na szesnastkową .
Na przykład dla 50% 50/100 * 255 = 127. Za pomocą linku otrzymujemy wartość szesnastkową 7F.
Źródło: Android: jak stworzyć przezroczyste lub nieprzezroczyste tło
Jeśli chcesz dodać 20% lub 30% przezroczystości, powinieneś wstępnie wstawić dwa dodatkowe znaki do kodu szesnastkowego, np. CC.
android:background="#CCFF0088"
w XML
gdzie CC to wartość alfa, FF to czynnik czerwony, 00 to czynnik zielony, a 88 to czynnik niebieski.
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
Można również ustawić programowo krycie w sposób podobny do:
yourView.getBackground().setAlpha(127);
Ustaw krycie od 0 (w pełni przezroczysty) do 255 (całkowicie nieprzezroczysty). 127,5 to dokładnie 50%.
Możesz utworzyć dowolny poziom przezroczystości za pomocą podanej formuły. Jeśli chcesz półprzezroczysty:
16 |128 Where 128 is the half of 256.
|8 -0 So it means 80 is half transparent.
A dla przejrzystości 25%:
16 |64 Where 64 is the quarter of 256.
|4 -0 So it means 40 is quarter transparent.
Użyj czarnego kodu poniżej:
<color name="black">#000000</color>
Teraz, jeśli chcesz użyć krycia, możesz użyć poniższego kodu:
<color name="black">#99000000</color>
A poniżej kod krycia:
100% - FF
95% - F2
90% - E6
85% - D9
80% - CC
75% - BF
70% - B3
65% - A6
60% - 99
55% - 8 ° C
50% - 80
45% - 73
40% - 66
35% - 59
30% - 4D
25% - 40
20% - 33
15% - 26
10% - 1A
5% - 0D
0% - 00
Istnieje już predefiniowana stała. Zastosowanie Color.TRANSPARENT
.
Color.TRANSPARENT
jest ustawiona na 0x00000000
(nie oczekiwana całkowicie nieprzezroczysta 0xFF000000
), więc w zależności od tego, jak sobie z tym poradzisz, ta stała może nie pomóc w osiągnięciu przejrzystości! Nadal +1 za polecanie stałej!
W systemie Android jest już wbudowany przezroczysty: przezroczysty. http://developer.android.com/reference/android/R.color.html#transparent
Ale myślę, że możesz chcieć, aby tło obrazu, które umieszczasz w WebView, było przezroczyste, na przykład za pomocą przezroczystego PNG, a nie tła ImageView. Jeśli rzeczywisty obraz w ogóle nie jest przezroczysty, wówczas tło ImageView nie jest przez niego widoczne.
Jeśli chcesz to w kodzie, po prostu:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
Lub alternatywnie przeanalizuj identyfikator zasobu za pomocą następującego kodu:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
W pliku XML ustaw atrybut „Alpha”
Jak na przykład
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
Możesz podać dowolną wartość od 0,0 do 1,0 w systemie dziesiętnym, aby zastosować wymaganą przezroczystość. Na przykład przezroczystość 0,5 jest idealna dla wyłączonego komponentu
Dla tych, którzy wciąż napotykają ten problem, możesz spróbować
element.getBackground().setAlpha(0);
NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setAlpha(int)' on a null object reference
element
zobaczyć, czy jest to obiekt zerowy
Aby uzyskać pełną przejrzystość, użyj następujących poleceń:
#00000000
Kiedy próbowałem z # 80000000, dostałem czarną przezroczystą nakładkę, której nie chcę. Spróbuj zmienić pierwsze dwie cyfry; kontroluje poziom przezroczystości
#00000000
#10000000
#20000000
#30000000
Jeszcze jeden prosty sposób:
mComponentName.setBackgroundResource(android.R.color.transparent);
Możesz także użyć View.setAlpha(float)
do precyzyjnej zmiany widoczności.
0 byłoby przezroczyste, 1 w pełni widoczne. ;)
Spróbuj użyć następującego kodu. Pomoże Ci w pełni lub więcej.
Plik .xml przeznaczony do używania tego kodu do ustawiania koloru tła:
android:background="#000000"
lub
android:background="#FFFFFF"
Możesz też ustawić to programowo.
Możesz także użyć tego kodu programowo:
image.setBackgroundDrawable(getResources().getDrawable(
R.drawable.llabackground));
Również ten kod do ustawiania koloru tła również programowo:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
Ten kod dla tego samego programowo:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
Kolor zależy od wyboru koloru przezroczystego. Najczęściej używaj koloru białego lub #FFFFFF.
Odnośnie R.drawable.llabackground
: Ten wiersz kodu odnosi się do Twojego stylu tła, jak coś specjalnego lub innego do twojego celu. Możesz także tego użyć.
Definicje kolorów z informacjami o przezroczystości mogą być w formie
#AARRGGBB
lub #ARGB
.
Możesz także użyć krótszej wartości dla pełnej przezroczystości: # 0000 .
Inne wartości to np .:
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
Spróbuj tego:
#aa000000
W przypadku przezroczystości 000000 = czarny możesz zmienić te sześć liczb dla żądanego koloru.