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>
.
android
android-widget
mudit
źródło
źródło
Odpowiedzi:
W swoim XML ustaw
Background
atrybut na dowolny kolor,White(#FFFFFF)
odcień lubBlack(#000000)
odcień. Jeśli chcesz przezroczystości, po prostu wstaw 80 przed rzeczywistym kodem skrótu:Spowoduje to zmianę dowolnego koloru na przezroczysty .. :)
źródło
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:
źródło
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
źródło
Jeśli chcesz dodać 20% lub 30% przezroczystości, powinieneś wstępnie wstawić dwa dodatkowe znaki do kodu szesnastkowego, np. CC.
Uwaga
android:background="#CCFF0088"
w XMLgdzie CC to wartość alfa, FF to czynnik czerwony, 00 to czynnik zielony, a 88 to czynnik niebieski.
Niektóre kody krycia:
Wartości krycia szesnastkowego
Można również ustawić programowo krycie w sposób podobny do:
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:
A dla przejrzystości 25%:
źródło
Użyj czarnego kodu poniżej:
Teraz, jeśli chcesz użyć krycia, możesz użyć poniższego kodu:
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
źródło
Istnieje już predefiniowana stała. Zastosowanie
Color.TRANSPARENT
.źródło
Color.TRANSPARENT
jest ustawiona na0x00000000
(nie oczekiwana całkowicie nieprzezroczysta0xFF000000
), 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.
źródło
Jeśli chcesz to w kodzie, po prostu:
źródło
Wypróbuj ten kod :)
Jest to w pełni przezroczysty kod hexa - „# 00000000”
źródło
Lub alternatywnie przeanalizuj identyfikator zasobu za pomocą następującego kodu:
źródło
W pliku XML ustaw atrybut „Alpha”
Jak na przykład
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
źródło
Dla tych, którzy wciąż napotykają ten problem, możesz spróbować
element.getBackground().setAlpha(0);
źródło
NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setAlpha(int)' on a null object reference
element
zobaczyć, czy jest to obiekt zerowyAby uzyskać pełną przejrzystość, użyj następujących poleceń:
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
źródło
W Android Studio bardzo łatwo jest dopasować kolor i krycie za pomocą wbudowanego narzędzia:
źródło
Jeszcze jeden prosty sposób:
źródło
Inną dostępną opcją roboczą jest ustawienie
android:background="@null"
źródło
Możesz także użyć
View.setAlpha(float)
do precyzyjnej zmiany widoczności.0 byłoby przezroczyste, 1 w pełni widoczne. ;)
źródło
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:
lub
Możesz też ustawić to programowo.
Możesz także użyć tego kodu programowo:
Również ten kod do ustawiania koloru tła również programowo:
Ten kod dla tego samego programowo:
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ć.źródło
Jeśli używasz rysowalnego obrazu XML, możesz uczynić go przezroczystym, jak pokazano na poniższym obrazku, lub możesz użyć kodu koloru:
źródło
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 .:
źródło
źródło
Spróbuj tego:
W przypadku przezroczystości 000000 = czarny możesz zmienić te sześć liczb dla żądanego koloru.
źródło