Насколько я понимаю, на ранней стадии предварительного просмотра не было возможности установить повышение в XML только для CardView
s без взлома Java. Теперь, когда вышел официальный релиз, есть ли способ сделать это в XML без написания кода Java для установки повышения?
Я пробовал card_view:cardElevation
безрезультатно. Я думал, когда использовал эмуляторы для 5.0, все в порядке. Но теперь, когда я использую официальную версию на своем устройстве, все мои CardView
файлы исчезли.
Pre Lollipop, он отлично работает.
Вот мой полный 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
источник
источник
Ответы:
Похоже, проблема с полями / заполнениями, попробуйте установить для атрибута cardUseCompatPadding значение true. Например:
Объяснение из Android-документа:
источник
Если у вас есть эта строка
в манифесте тега приложения ваши тени не отображались. попробуйте удалить эту строку
или используйте
Это сработало для меня! Надеюсь, у вас тоже получится :)
источник
Вы должны использовать
cardElevation
атрибут.Библиотеки Androidx:
Вы можете использовать
MaterialCard
входящие в официальную библиотеку компонентов материалов :И в вашем макете:
Или
CardView
в пакетах androidx:И в вашем макете:
Старая библиотека поддержки :
источник
Это решило меня, добавив
xmlns: card_view = "http://schemas.android.com/apk/res-auto"
например:
источник
Я добавляю атрибут app: cardElevation = "8dp" в представление карты, поэтому он будет примерно таким:
Надеюсь, это поможет
источник