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

相关推荐
Dovis(誓平步青云)4 分钟前
番茄钟真正难的不是倒计时:启动、暂停、重置与页面销毁
android·服务器·前端
mengge.cloud29 分钟前
0824LAMP项目实战:部署WordPress博客平台小白教程
android·linux·运维·服务器·学习·nginx
YF02111 小时前
开机自启动预置App最简单、最快方案
android
恋猫de小郭2 小时前
Flutter iOS 的深度优化 PR,搞笑的是贡献者被 Gemini 评审折磨
android·前端·flutter
撩得Android一次心动2 小时前
Kotlin 语言【知识点整理2】
android·开发语言·kotlin
福大大架构师每日一题3 小时前
webrtc-rs/webrtc v0.20.3更新:Android 网络切换后 ICE Restart 卡死约 10 秒的问题终于解决
android·网络·webrtc
mmsx3 小时前
基于 Android 的本地商城订单 App:SQLite + 多角色架构的技术实践(有源码和文档)
android·架构·sqlite
又见情义13 小时前
RK3568 Android 13 板载驱动适配-USB
android·arm开发·驱动开发
delta_hell14 小时前
【阅读源码-Android】动画之Choreographer-2
android·源码·choreographer
mmsx14 小时前
基于 Android 的博物馆文化展示与预约 App —— 设计与实现(有源码和文档)
android·app·源码·文档