【发布时间】:2023-04-04 17:36:02
【问题描述】:
这是我的观点:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="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="@drawable/bg_rounded"
android:backgroundTint="@color/view_primary_color"
android:elevation="4dp"
android:foregroundTint="@android:color/white">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvTitle"
style="@style/Header4.Semibold16.White"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:text="Add to cart"
android:textAllCaps="false"
app:tint="@android:color/white"
tools:ignore="ContentDescription" />
<ProgressBar
android:id="@+id/pbLoading"
style="?android:attr/progressBarStyleSmall"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
这里是@color/view_primary_color
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_enabled="true" />
<item android:color="@color/colorPrimaryDisabled" android:state_enabled="false" />
</selector>
当视图的状态为enabled 时,它的颜色为colorPrimary。
当状态为disabled 时,视图的颜色为colorPrimaryDisabled,这与colorPrimary 几乎相同,但只有20% 的alpha。
视图应该只是将其颜色更改为稍微半透明,但由于某种原因,其中有一些阴影。
如果我使用非半透明颜色,一切正常。或者,如果我从视图中删除 elevation,一切正常。
感觉这是某种错误。你知道这是什么吗?
谢谢!
【问题讨论】:
-
这是一个非常幸运的时机。昨天有人发布了这个:stackoverflow.com/q/70227950.
-
(不暗示任何邪恶的联系或任何事情。只是注意到巧合。)
-
呃,说实话,这篇文章中的这个解决方案感觉有点不对劲。我不敢相信真的没有其他选择。
-
如果你找到了,你可能也想把它链接/发布到那里,也许还有一些他们链接的其他问题。
标签: android android-view android-elevation