草庐IT

setClipBounds

全部标签

android - 我可以使用 setClipBounds 裁剪带有圆圈的 View 吗?

我有以下代码来划分要绘制的View区域:Rectrect=newRect();rect.set(0,0,100,100);View.setClipBounds(rect);这将只在指定的矩形(或正方形,在本例中)上绘制我的View。但是,我希望将View剪裁成一个圆圈。有没有办法以某种方式使Rect对象的角变圆? 最佳答案 在这种情况下,您必须继承该View并向其添加一些额外的逻辑。将这些代码添加到它的构造方法中,或者您想要初始化View的任何地方。finalPathpath=newPath();path.addRoundRect(

android - setClipBounds 可以在 View 绘制之前调用吗?

我正在构建自定义复合控件。此复合控件的组件之一是自定义按钮。我的ShiftingTabButton是我的复合控件类中的嵌套类。我需要将ShiftingTabButton的clipBounds设置为比第一次绘制时的实际高度略短。在如下所示的ShiftingTabButton构造函数中,我设置了一些必要的参数,然后调用measure()模式UNSPECIFIED,以确定新View的预期大小。当我在Debug模式下运行它时,我可以看到width=160和height=64对于我的Nexus7。到目前为止一切都很好。但是当我尝试使用修改后的clipBounds调用setClipBounds()