gpt4 book ai didi

android - Android 5.0 上的小而宽 View 的阴影看起来很奇怪,但在 5.1 上却不是

转载 作者:行者123 更新时间:2023-11-30 01:53:44 25 4
gpt4 key购买 nike

如果我在 Android 5.0 上向小而宽的 View 添加高度,阴影看起来真的很奇怪。但是,在 Android 5.1 上它看起来还不错。例如,请看下面的比较图像(请单击以全分辨率查看):

Comparison between 5.0 and 5.1

在 5.1 上阴影的形状是均匀的,而在 5.0 上它向屏幕边缘变薄。 View 越薄(即越小),效果越明显。

我不确定这是否是任何一个版本上的错误,但是我需要阴影在两个版本上看起来都像现在在 5.1 上的样子。

最佳答案

这是一个 hacky 的部分解决方法。阴影的形状取决于 View 的高度或更准确地说是轮廓的高度。所以我们要像这样设置自定义大纲:

view.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(final View view, final Outline outline) {
outline.setRect(0, -128, view.getWidth(), view.getHeight());
}
});

而不是 -128 选择任何足够大的数字(或者更好,从资源中加载维度值)。这是它的样子:

enter image description here

不幸的是,这个 hack 导致在 View 上方呈现奇怪的 Artifact 。但是,如果您在其上方有另一个 View (如工具栏),则这些将不可见。也许可以通过将 View 放在单独的布局中并调整其边界来裁剪 Artifact 。

关于android - Android 5.0 上的小而宽 View 的阴影看起来很奇怪,但在 5.1 上却不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com