android制作自定义布局形状[关闭]
Posted
技术标签:
【中文标题】android制作自定义布局形状[关闭]【英文标题】:android make custom layout shape [closed] 【发布时间】:2015-10-01 03:22:02 【问题描述】:我正在尝试制作自定义 ViewGroup 布局形状,布局是星形或心形、三角形甚至是对角线。
所以目标是为两个或多个 ImageView 制作拼贴视图。
谁能给我一个图书馆或一种方法来做这个把戏?
【问题讨论】:
使用“ImageViews”不是一个简单的方法,您可以选择使用 Canvas。 我不想在 ImageViews 上应用这个,我想为 ViewGroups 做这个。 @MarwanZakariya 如果实施的话,你能得到它的答案吗? 【参考方案1】:您可以通过使用Canvas
和BitmapShader
的标准方法来实现此目的。
第一种方法可能如下所示:
@Override protected void onDraw(Canvas canvas)
//bitmap 01
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipPath(shape01);
canvas.drawBitmap(bitmap01, 0, 0, paint);
canvas.restore();
//bitmap 02
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipPath(shape02);
canvas.drawBitmap(bitmap02, 0, 0, paint);
canvas.restore();
第二个可能是这样的:
BitmapShader shader01 = new BitmapShader(bitmap01, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
BitmapShader shader02 = new BitmapShader(bitmap02, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint paint01 = new Paint();
Paint paint02 = new Paint();
paint01.setShader(shader01);
paint02.setShader(shader02);
@Override protected void onDraw(Canvas canvas)
//bitmap 01
canvas.drawPath(path01, paint01);
//bitmap 02
canvas.drawPath(path02, paint02);
所以你需要定义你的形状,加载位图并绘制它们。
【讨论】:
以上是关于android制作自定义布局形状[关闭]的主要内容,如果未能解决你的问题,请参考以下文章