在向视图添加elevation
时,我在Android中遇到了问题。
我们可以看到,在第一个示例中,通过添加elevation
生成的阴影对于两个矩形都具有相同的大小。但是在第二个例子中,灰色矩形的阴影大于蓝色矩形的阴影。
样式完全相同,但唯一的区别是矩形的大小。
(用React Native编写)
矩形A:
<View style={{flexDirection: 'row', alignItems: 'flex-end'}}>
<View style={{elevation: 5, width: 140, height: 90, backgroundColor: "#d9d9d9"}} />
<View style={{elevation: 5, width: 140, height: 60, backgroundColor: "#00aeef"}} />
</View>
矩形B:
<View style={{flexDirection: 'row', alignItems: 'flex-end'}}>
<View style={{elevation: 5, width: 220, height: 90, backgroundColor: "#d9d9d9"}} />
<View style={{elevation: 5, width: 60, height: 60, backgroundColor: "#00aeef"}} />
</View>
向父组件添加阴影不是解决方案,因为组件的高度不同。在这种情况下,阴影将在蓝色组件上方可见,并且看起来不正确。
同样增加蓝色矩形的elevation
值不是一个解决方案,因为增加elevation
的值会扩散阴影,使其不太明显。
当组件的大小不同时,我怎么能让阴影看起来相似?