【发布时间】:2021-03-11 19:11:21
【问题描述】:
所以,我有一个具有以下样式的 AppCompatButton:
<style name="InputButton">
<item name="android:background">@drawable/blur_state_list</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:fontFamily">@font/open_sans_semibold</item>
<item name="android:outlineAmbientShadowColor">?colorAmbient</item>
<item name="android:outlineSpotShadowColor">?colorAmbient</item>
<item name="android:textSize">16sp</item>
<item name="android:paddingStart">@dimen/spacing_large_4</item>
<item name="android:paddingEnd">@dimen/spacing_large_4</item>
<item name="android:paddingTop">@dimen/spacing_13dp</item>
<item name="android:paddingBottom">@dimen/spacing_13dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:elevation">6dp</item>
背景drawable是这样完成的
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="?colorFragmentBackground" />
<corners android:radius="@dimen/input_spacing" />
</shape>
</item>
<item>
<selector>
<item android:state_enabled="false">
<shape android:shape="rectangle">
<solid android:color="?colorTextSecondary1" />
<corners android:radius="@dimen/input_spacing" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<corners android:radius="@dimen/input_spacing" />
</shape>
</item>
</selector>
</item>
被波纹标签包围。所以不会让我发布波纹标签...
但是当背景颜色变暗时,阴影明显减弱:
是否有某个设置,无论背景颜色如何,我都可以使用该属性来保持阴影强度?我尝试了 spotShadowAlpha 和ambientShadowAlpha 无济于事。
【问题讨论】:
-
查看checker shadow illusion 了解类似的视错觉。
标签: android material-design shadow elevation