Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android六边形图像视图_Android_Imageview_Mask - Fatal编程技术网

Android六边形图像视图

Android六边形图像视图,android,imageview,mask,Android,Imageview,Mask,如何实现如下所示的六边形图像视图 请注意,我尝试了这个问题的解决方案: 我也尝试过这个解决方案: 但我不想填充六边形以外的颜色。我希望它是透明的,这样可以看到后面的视图和图像 顺便说一下,我尝试了BitmapShader、PorterDuffXFermode等,但无法获得我想要的结果 提前谢谢。我读过这篇文章,看起来很有效。他们甚至有一个视频教程:关于如何用纹理填充形状,我已经读过了,看起来很有效。他们甚至有一个视频教程:关于如何用纹理填充形状,我终于解决了我的问题。我发现了一个非常有用的库

如何实现如下所示的六边形图像视图

请注意,我尝试了这个问题的解决方案:

我也尝试过这个解决方案:

但我不想填充六边形以外的颜色。我希望它是透明的,这样可以看到后面的视图和图像

顺便说一下,我尝试了BitmapShader、PorterDuffXFermode等,但无法获得我想要的结果


提前谢谢。

我读过这篇文章,看起来很有效。他们甚至有一个视频教程:关于如何用纹理填充形状,我已经读过了,看起来很有效。他们甚至有一个视频教程:关于如何用纹理填充形状,我终于解决了我的问题。我发现了一个非常有用的库,它专门实现了我想要的技巧。它使用svg类型的矢量图像屏蔽imageview

图书馆:

结果:

编辑:我还想与您共享六边形svg,以备不时之需

<svg width="205" height="237" xmlns="http://www.w3.org/2000/svg">
<title>hexagon</title>
<metadata id="metadata3064">image/svg+xml</metadata>
<g>
<title>Layer 1</title>
<polygon points="0,59.27092742919922 0,177.8127899169922 102.66026306152344,237.08370971679688 205.3205108642578,177.8127899169922 205.3205108642578,59.27092742919922 102.66026306152344,0 " id="svg_1" fill="#000000"/>
</g>
</svg>

我终于解决了我的问题。我发现了一个非常有用的库,它专门实现了我想要的技巧。它使用svg类型的矢量图像屏蔽imageview

图书馆:

结果:

编辑:我还想与您共享六边形svg,以备不时之需

<svg width="205" height="237" xmlns="http://www.w3.org/2000/svg">
<title>hexagon</title>
<metadata id="metadata3064">image/svg+xml</metadata>
<g>
<title>Layer 1</title>
<polygon points="0,59.27092742919922 0,177.8127899169922 102.66026306152344,237.08370971679688 205.3205108642578,177.8127899169922 205.3205108642578,59.27092742919922 102.66026306152344,0 " id="svg_1" fill="#000000"/>
</g>
</svg>
这是我的代码,它支持阴影:

这是我的代码,它支持阴影:


我不想用颜色填充。我想遮罩它,这样后面的视图就可以看到。使用他们的图坦卡蒙,你可以创建一个带有纹理形状的透明图像。我不想用颜色填充。我想遮罩它,这样后面的视图就可以看到。使用他们的图坦卡蒙,你可以创建一个带有纹理形状的透明图像。嗨。SafaOrhan,svg必须保存在哪个文件夹和哪个扩展名?@Jack您可以将其放入/res/raw文件夹,而不需要任何扩展名。Hi。SafaOrhan,svg必须保存在哪个文件夹和哪个扩展名中?@Jack您可以将其放入/res/raw文件夹,而无需任何扩展名。