Z tego, co rozumiem, na wczesnym etapie podglądu wydawało się, że nie ma sposobu na ustawienie podniesienia uprawnień w XML tylko na CardView
s bez hackowania w Javie. Teraz, gdy oficjalna wersja została wydana, czy można to zrobić w XML bez pisania kodu Java w celu ustawienia podniesienia uprawnień?
Próbowałem card_view:cardElevation
bez skutku. Kiedy używałem emulatorów w wersji 5.0, myślałem, że wszystko jest w porządku. Ale teraz, gdy używam oficjalnej wersji na moim rzeczywistym urządzeniu, wszystkie moje CardView
zniknęły
Pre Lollipop działa świetnie.
Oto mój pełny plik XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="match_parent"
android:id="@+id/cv1"
card_view:cardElevation="4dp"
android:layout_margin="6dp"
card_view:cardCornerRadius="3dp"
android:layout_height="match_parent">
android
android-appcompat
android-cardview
android-elevation
TheLettuceMaster
źródło
źródło
Odpowiedzi:
Wygląda na to, że występuje problem z marginesami / wypełnieniem, spróbuj ustawić atrybut cardUseCompatPadding na wartość true. Na przykład:
Wyjaśnienie z dokumentu na Androida:
źródło
Jeśli masz tę linię
w tagu manifestu aplikacji Twoje cienie nie były wyświetlane. spróbuj usunąć tę linię
albo użyj
To zadziałało dla mnie! Mam nadzieję, że u Ciebie też działa :)
źródło
Musisz użyć
cardElevation
atrybutu.Biblioteki Androidx:
Możesz użyć
MaterialCard
dołączonych do oficjalnej biblioteki komponentów materiałów :A w swoim układzie:
Lub
CardView
w pakietach androidx:A w swoim układzie:
Biblioteka wsparcia OLD :
źródło
To rozwiązało mnie, dodając
xmlns: card_view = "http://schemas.android.com/apk/res-auto"
na przykład:
źródło
dodaję aplikację: cardElevation = atrybut "8dp" w widoku karty, więc będzie to wyglądać następująco:
Mam nadzieję, że to pomoże
źródło