Android的圆形控件 对于所有的View有效
在开发的过程中,肯定需要实现一个圆形的控件,而且不是绘制一个圆形,那么怎么弄呢,在Android5.0后,有一个类ViewOutlineProvider,可以实现这个功能,应该是对于所有VIew有效。
这里我是用的是TextureView,这个控件挺不一样的 其实这个和SurfaceView都可以使用了之后应该都可以。
代码如下
html
public class TextureVideoViewOutlineProvider extends ViewOutlineProvider {
@Override
public void getOutline(View view, Outline outline) {
int left = 0;
int top = (view.getHeight() - view.getWidth()) / 2;
int right = view.getWidth();
int bottom = (view.getHeight() - view.getWidth()) / 2 + view.getWidth();
outline.setOval(left, top, right, bottom);
}
}
然后在布局所在的类里面去使用:
html
view.setOutlineProvider(new TextureVideoViewOutlineProvider());
view.setClipToOutline(true);
原文链接:https://blog.csdn.net/weixin_43328457/article/details/106384660