В настоящее время мне понравился дизайн карты следующим образом.
Как видите, вокруг понравившегося макета карты есть тень. Это реализовано следующим образом. (Я не использовал CardView, так как он не удовлетворяет другим моим требованиям)
<?xml version = "1.0" encoding = "utf-8"?>
<FrameLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:id = "@+id/card_view"
android:layout_marginLeft = "8dp"
android:layout_marginStart = "8dp"
android:layout_marginRight = "8dp"
android:layout_marginEnd = "8dp"
android:layout_marginTop = "8dp"
android:layout_marginBottom = "0dp"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "?attr/cardSelector"
android:minHeight = "48dp"
android:stateListAnimator = "@animator/lift_up"
android:clickable = "true" >
...
</FrameLayout>
Эффект тени вызван lift_up.xml. Это как следует.
<?xml version = "1.0" encoding = "utf-8"?>
<selector xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:state_enabled = "true"
android:state_pressed = "true">
<objectAnimator
android:duration = "@android:integer/config_shortAnimTime"
android:propertyName = "translationZ"
android:valueTo = "4dip"
android:valueType = "floatType" />
</item>
<item>
<objectAnimator
android:duration = "@android:integer/config_shortAnimTime"
android:propertyName = "translationZ"
android:valueTo = "2dip"
android:valueType = "floatType" />
</item>
</selector>
Как, мне нужно предоставить черную тему в моем приложении. Я переделываю карты, которые выглядят.
Поскольку цвет тени черный, он не виден в черной теме.
Мне вот интересно, а можно ли поменять тень на белую? Если да, то как? Спасибо.
Извините. У меня нет хорошего решения.
Вы нашли какое-нибудь решение?