Java 使用指定的矩形通过FrameLayout前景进行淡入覆盖,该矩形剪切淡入部分

Java 使用指定的矩形通过FrameLayout前景进行淡入覆盖,该矩形剪切淡入部分,java,android,xamarin,drawable,android-framelayout,Java,Android,Xamarin,Drawable,Android Framelayout,目标:图像的突出显示部分(图像覆盖整个屏幕)。屏幕的其余部分需要淡出 到目前为止,我已经使用框架布局的前景和将图像作为相对性的背景放置在框架布局中的衰落工作。我正在考虑的解决方案是,我需要创建2个可绘制图形,并将它们合并为FrameLayout前台可以使用的一个 我也读了一些关于PorterDuff的文章,但我认为这对于我想要实现的目标来说可能有些过头了 淡入淡出功能工作正常,但淡入淡出透明部分的来源不正常 我建议您将原始图像放在ImageView的顶部,放置4个部分变暗的视图,就这样! 通过

目标:图像的突出显示部分(图像覆盖整个屏幕)。屏幕的其余部分需要淡出

到目前为止,我已经使用框架布局的前景和将图像作为相对性的背景放置在框架布局中的衰落工作。我正在考虑的解决方案是,我需要创建2个可绘制图形,并将它们合并为FrameLayout前台可以使用的一个

我也读了一些关于PorterDuff的文章,但我认为这对于我想要实现的目标来说可能有些过头了


淡入淡出功能工作正常,但淡入淡出透明部分的来源不正常

我建议您将原始图像放在
ImageView
的顶部,放置4个部分变暗的视图,就这样! 通过一些基本的数学知识,您可以知道每个视图的大小,使用
RelativeLayout
可以轻松地将它们放在屏幕上

祝你好运

另外,我附上了一张草图来说明我的建议。

您能详细说明一下您目前面临的问题吗?这似乎是一项相当简单的任务,而且似乎你已经成功了。我正在尝试创建一个可绘制图形,以编程方式剪切形状的一部分。对于形状,我目前正在使用xml文件中的形状。这看起来比我想象的要有效得多。非常感谢。不客气。如果你觉得这个答案有用的话,如果你能接受的话,我将不胜感激:)不幸的是,这毕竟对我不起作用。如果页面上没有其他视图必须有不同的行为,它就会有。背景中还有其他视图需要淡出,这就是为什么我用Porterduff查看FrameLayout的前台属性。听到这个消息我很难过。我看不出有多少观点会对你的问题产生什么影响。只要你把这四个视图放在其他所有视图之上,你就会得到你想要的效果。尝试将四个“暗显”视图放置在布局中,以便处理一个元素(用于动画、可见性等)。Good luckI稍微修改了我的测试,结果证明这是功能性的&正确答案!对不起,哈哈:)再次谢谢。