<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>
To właśnie próbowałem uzyskać przezroczysty przycisk ImageButton, aby umieścić te przyciski w SurfaceView. Ale Eclipse wyświetla błąd w projekcie, gdy tylko dołączę przezroczystą linię do pliku xml.
Proszę pomóż.
android
transparent
imagebutton
surfaceview
Namratha
źródło
źródło
Odpowiedzi:
Spróbuj użyć null dla tła ...
źródło
SurfaceView
Powinien umożliwiać przesuwanie przycisków nad powierzchnią, ale uwaga: „Można tego użyć do umieszczania nakładek, takich jak przyciski, na powierzchni urządzenia, jednak należy pamiętać, że może to mieć wpływ na wydajność, ponieważ pełne mieszanie alfa kompozyt zostanie wykonany za każdym razem, gdy zmieni się powierzchnia. ” from developer.android.com/reference/android/view/SurfaceView.htmlNIE UŻYWAJ TRANSAPENTU LUB NULLU, ponieważ wtedy przycisk (lub ogólny widok) nie będzie już podświetlany po kliknięciu !!!
Użyj tego w specyfikacji przycisku:
źródło
android:background="?android:selectableItemBackgroundBorderless"
Możesz także użyć przezroczystego koloru:
źródło
Developer option: Show GPU overdraw
i zobaczyć różnicę między ustawieniem tła na@null
i@android:color/transparent
.Ustawienie tła
"@null"
spowoduje, że przycisk nie będzie działał po kliknięciu. To będzie lepszy wybór.Później znalazłem to za pomocą
jest również dobrym rozwiązaniem. Możesz odziedziczyć ten atrybut w swoim własnym stylu.
źródło
selectableItemBackground
ma dodatkową zaletę polegającą na zmianie stanu przycisku po kliknięciu. Inne rozwiązania sprawiają, że przycisk wydaje się niemożliwy do kliknięcia.w czasie wykonywania możesz użyć następującego kodu
źródło
Uważam, że przyjęta odpowiedź powinna brzmieć:
android:background="?attr/selectableItemBackground"
Jest to to samo, co odpowiedź @ lory105, ale wykorzystuje bibliotekę wsparcia dla maksymalnej kompatybilności (
android:
odpowiednik jest dostępny tylko dla API> = 11)źródło
Usuń tę linię:
A w zestawie klas aktywności
Możesz ustawić poziom alfa od 0 do 255
o oznacza przezroczysty, a 255 oznacza nieprzezroczysty.
źródło
Najlepszym sposobem jest użycie przezroczystego kodu koloru
użyj kodu koloru # 00000000, aby uczynić dowolną rzecz przezroczystą
źródło
@android:color/transparent
bez zakodowanych wartości.@android:
odniesienia bezpośrednio w układzie jest uważane za wartość zakodowaną na stałe, ponieważ jeśli chcesz je zmienić, nadal musisz surfować w układzie, aby je znaleźć. Zadeklaruję coś takiego<item name="something">@android:color/transparent</item>
i użyję własnej wartości w układzie, aby łatwo znaleźć ją w pliku resources.xml i zmienić bez konieczności wyszukiwania w układzieUżyj
ImageView
... domyślnie ma przezroczyste tło ...źródło
Już dodawałem coś do tła, więc to działało dla mnie:
(Android Studio 3.4.1)
EDYCJA : działa tylko na Android api poziomu 21 i wyższych. dla kompatybilności użyj tego zamiast tego
źródło
Użyj tego:
źródło
Ustaw tło ImageButton jako @null w XML
źródło
Użyj „@ null” . To zadziałało dla mnie.
źródło
Jego
android:background="@android:color/transparent"
źródło
Jest to programowo ustawiony kolor tła jako przezroczysty
źródło
Programowo można to zrobić poprzez:
źródło
android:background="@drawable/transparent"
.). Tak czy inaczej, proponuję tylko możliwy powód do głosowania; Nie twierdzę, że jest to uzasadnione.W swoim
Background
atrybucie zestawu XML dowolnegoWhite(#FFFFFF)
odcienia lubBlack(#000000)
odcienia. Jeśli chcesz przezroczystości, po prostu wstaw 80 przed faktycznym kodem mieszającym.źródło
Użyłem przezroczystego
png
doImageButton
iImageButton
działało.źródło