gpt4 book ai didi

android - 如何强制 android View 重绘它的背景可绘制?/可能是动画阻止它正常工作

转载 作者:太空狗 更新时间:2023-10-29 13:41:51 25 4
gpt4 key购买 nike

有没有办法强制 android View 重绘它的背景?我设置了一个带有渐变背景的可绘制形状,效果很好,但在更改 View 高度后,您会看到那些丑陋的渐变阶梯。

我能做什么?我尝试了 view.invalidate()view.refreshDrawableState() 没有任何明显的区别。

谢谢!

//编辑:以下是更多详细信息和我的代码:根据您的回答,我认为 strip 可能是我的错误代码造成的。这是我正在做的:

  1. 缩放 View
  2. 设置其新的宽度和高度,因为缩放后的 View 不接受其他区域的用户输入,然后是“旧”区域(参见 android weird (at least for me) behaviour of control after scaling / doesn't accept input in it's whole area)
  3. 再次尝试设置背景(包含渐变和圆角矩形)

这是我的代码:

public void onAnimationEnd(Animation animation)
{
MyView view = (MyView) ((ExtendedScaleAnimation) animation).getView();
view.getLayoutParams().width = toWidth;
view.getLayoutParams().height = toHeight;
view.clearAnimation();
view.requestLayout();
view.refreshBackground(); // background will be changed
}

在设备上,您可以看到背景可绘制对象已更改,但有闪烁,在我看来,背景更改是在动画结束之前应用的。从程序上讲,它应该结束了!还是我错了?

再次感谢!

最佳答案

调整大小后你能试试吗:v.setBackgroundResource(null);v.setBackgroundResource(...我的drawable...);

关于android - 如何强制 android View 重绘它的背景可绘制?/可能是动画阻止它正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748336/

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