定义布局内容区域

时间:2013-08-20 07:17:03

标签: android android-linearlayout nine-patch android-framelayout custom-view

enter image description here

我想定义一个Frame / Linear / Relative布局的contentArea,这样当我layout.addView(view);时,它只会在边界内添加,而视图的其余部分会被剪掉。就像衬衫的图片一样,如果我想将衬衫的边界定义为内容的范围......我该怎么做呢。有什么建议/帮助吗? 感谢

PS:在9补丁(右和底)中不能这样做,因为它只定义为矩形,在这种情况下,形状可以是衬衫的任何形状。想要省略contentArea中的白色/透明部分。

2 个答案:

答案 0 :(得分:3)

尝试以下代码: - 为了防止有人试图解决同样的问题,有一个更好的解决方案:Bitmap.createBitmap(Bitmap,int x,int y,int width,int height)。例如,如果您需要从位图的每一侧裁剪10个像素,请使用:

Bitmap croppedBitmap = Bitmap.createBitmap(originalBitmap, 10, 10, originalBitmap.get

答案 1 :(得分:2)

这不是你能做的事情。 据我所知,你不能使用PorterDuff,因为你需要为这个剪切的容器添加视图。 我会建议一个可能对你有用的简单技巧。只需在Frame / RelativeLayout顶部添加一个imageview,其中包含一个图像,在您想要显示的部分上具有完全透明度,并且在您想要剪切的区域中它是不透明的。 从图形上讲,你应该达到你需要的目的。