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

相关推荐
q***064721 小时前
SpringSecurity相关jar包的介绍
android·前端·后端
7***31881 天前
若依微服务中配置 MySQL + DM 多数据源
android·mysql·微服务
我是好小孩1 天前
【Android】常见的架构模式:MVC, MCP, MVVM
android·架构·mvc
Digitally1 天前
如何通过蓝牙将联系人从 iPhone 传输到 Android
android·ios·iphone
embrace991 天前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
用户69371750013841 天前
11.Kotlin 类:继承控制的关键 ——final 与 open 修饰符
android·后端·kotlin
用户0273851840261 天前
【Android】LiveData的使用以及源码浅析
android·程序员
用户69371750013841 天前
10.Kotlin 类:延迟初始化:lateinit 与 by lazy 的对决
android·后端·kotlin
正经教主1 天前
【Git】Git06:Git 管理 Android 项目教程(含GitHub)
android·git
安卓理事人1 天前
安卓多种通知ui更新的方式(livedata,rxjava,eventbus等)
android·ui·echarts