Android 设置控件为圆形

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

相关推荐
whysqwhw20 分钟前
安卓图片性能优化技巧
android
风往哪边走30 分钟前
自定义底部筛选弹框
android
Yyyy4821 小时前
MyCAT基础概念
android
Android轮子哥2 小时前
尝试解决 Android 适配最后一公里
android
雨白3 小时前
OkHttp 源码解析:enqueue 非同步流程与 Dispatcher 调度
android
风往哪边走3 小时前
自定义仿日历组件弹框
android
没有了遇见3 小时前
Android 外接 U 盘开发实战:从权限到文件复制
android
Monkey-旭5 小时前
Android 文件存储机制全解析
android·文件存储·kolin
zhangphil5 小时前
Android Coil 3拦截器Interceptor计算单次请求耗时,Kotlin
android·kotlin
DokiDoki之父5 小时前
多线程—飞机大战排行榜功能(2.0版本)
android·java·开发语言