TL; DR
Проверьте вашу карту (или что-то слово, которое вы используете) объявление пространства имен и убедитесь, что он соответствует этому: Xmlns: карта = "http://schemas.android. com/apk/res-auto "
Я знаю, что здесь есть несколько ответов, но я хотел добавить мой, поскольку он не был включен в эти текущие предложения.Для того, чтобы получить тень, работающую как на KitKat и Зефире, (только эмуляторы я пытался, я уверен, что он работает между) я добавил следующие атрибуты XML для моей карты:
card:cardElevation="25dp"
card:cardUseCompatPadding="true"
После стучали голову мой стол за то, почему это не работает, пытаясь установить цвет фона карты на что-то совершенно непрозрачное, что позволяет ускорить аппаратное ускорение в манифесте и даже молиться, я проверил объявления пространства имен в моем файле. К моему ужасу, я увидел, что пространство имен карты XML были присвоены следующим:
xmlns:card="http://schemas.android.com/tools"
После фиксации, что объявление пространства имен, я побежал мой манекен приложение снова и вздохнул с облегчением, наконец показывала тень как и ожидалось.
Это доказательство на случай, если вы сомневаетесь, как я. И, пожалуйста, Google, Android, кто бы то ни было: снова создайте тени. Они не должны быть такими трудными.
Вот весь файл, который создал макет на рисунке ниже:
<?xml version="1.0" encoding="utf-8"?>
<!--MAKE SURE YOU HAVE THE RIGHT XML NAMESPACE ASSIGNED-->
<!--TO WHATEVER WORD YOU PUT IN FRONT OF THE CARD-->
<!--XML ATTRIBUTES. IN THIS CASE, MINE IS card-->
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#607D8B"
android:fitsSystemWindows="true"
tools:context="com.mlustig.playground.MainActivity">
<android.support.v7.widget.CardView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
app:layout_aspectRatio="66%"
app:layout_heightPercent="75%"
card:cardElevation="25dp"
card:cardUseCompatPadding="true" />
</android.support.percent.PercentRelativeLayout>
Да, я знаю. Досадно, что вы не можете просто скопировать и вставить этот макет и запустить его, потому что в нем есть PercentRelativeLayout, но я оставил его там специально. Вы должны обязательно check это out. Супер мощный, очень полезный. Приятно приятно. Надеюсь, это помогло.
спасибо за указание на это. Теперь он работает так, как ожидалось. :) – Moritz
Я бы согласился, что это ошибка. Прозрачный цвет, который они используют, также не создает полупрозрачную тень. – Moritz
Подъем всего «Фрагмента» для меня не работает. Может быть, потому, что весь его фон прозрачен? – tasomaniac