一、需求
相机预览 使用的控件是androidx.camera.view.PreviewView 希望四个角是圆角
二、解决
第一步,将PreviewView 的控件背景 设置为圆角背景**(很重要)**
第二部,发现OutlineProvider 可以给view设置圆角,控件的OutlineProvider重新赋值
代码如下
布局代码:
<androidx.camera.view.PreviewView
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:background="@drawable/shape_radius_10"/>
shape_radius_10.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp"/>
</shape>
活动中的java代码
val outline = Outline().also {
it.setRoundRect(Rect(0, 0, binding.cameraPreview.width, binding.cameraPreview.height), radius * resources.displayMetrics.density)
}
val outlineProvider = binding.cameraPreview.outlineProvider
outlineProvider.getOutline(binding.cameraPreview, outline)
binding.cameraPreview.outlineProvider = outlineProvider
binding.cameraPreview.clipToOutline = true
整个过程就是将OutlineProvider 取出来,将新的Outline 复制给 OutlineProvider 然后重新设置回 view中,
binding.cameraPreview.clipToOutline = true
这个也很重要,没有这句代码,圆角还是无效。
标签PostgreSQL , 超级用户 , superuser背景在数据库中哪些操作需要超级用户的权限才能执行?这个问题翻文档可能翻不全面,或者是已经比较难以完成的任务。但是从源码里面是比较好找出这个答案的。权限例如postgres=# select * from pg_authid; rolname | ro..._pgsql must be superuser to create replication users
最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教,共同进步。本文章示例使用 IntelliJ IDEA 来开发,JDK 使用 11 版本,其余各框架和技术基本上使用了文章撰写当时的最新版本。好的,下面直接进入正题。打开 IntelliJ IDEA,F..._ssm框架连接mysql数据库的具体步骤
Java程序性能优化是一个永远逃不开的话题,优化无处不在!一个偶然间,小编得到了一份Java程序性能优化的笔记,小编读完这份笔记后大为惊叹,实在是写的太好了,不忍独乐乐,于是把这份笔记免费分享出来,供大家参阅,共同学习,共同成长!这份笔记涵盖了:Java性能调优概述、设计优化、Java程序优化、并行程序开发及优化、JVM调优、Java性能调优工具!由于文章篇幅的限制,接下来小编只能为大家展示完整目录和部分内容,完整版的在评论区!(具体的调优方式全部都在笔记之中)Java性能调优概述性能概述看懂程_调优 面试 阿里
编写表字段node表Schema::create('nodes', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name',50)->comment('节点名称'); $table->string('route_name',100)->nullable()->default('')->comment('路由别名,权
SMP/MPP/NUMA都是cpu级别的架构,区别是在于访问内存,I/O和外部中断等资源方式的不同。SMP是对称访问和共享访问所有资源,MPP是独立访问各自资源,完全没有共享资源,如果是综合则是NUMA(部分本地内存/部分远端内存)。这就引起一致性等处理方式不同。_mp和cmp的区别
Java 学习日志今天是Java学习的第一天,老师并没有讲关于Java本身的知识,而是告诉我们应该如何去学,如每天都要去记学习笔记,对当天所学归纳总结,而在以后的学习生涯中,我也会保持这样良好的学习习惯。Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键..._java学习日志
简介同一AC的三层漫游:指的是在同一个AC下面的不同AP之间不同业务之间的漫游(跨越三层网络),比如图中AP-1的业务VLAN 是10(192.168.10.0/24),而AP-2的业务VLAN是20(192.168.20.0/24),无线客户端从AP-1漫游到AP-2后,虽然处于AP-2上面,但是业务VLAN保持不变,IP地址也保持不变,只是由原先的AP-1变成了AP-2来转发无线客户端的业务。之前已经把网络基本初始化了,整个网络除了WLAN业务没有跑起来以外,其他的都能够正常运行,这次主要介_三层漫游
首先也是看到网上有很多这这方面的博客,但是安卓Studio高版本对接unity高版本的却很少,有的还说高版本报错,我也是花时间研究了一下,感觉报错是正常的,一般还是配置环境问题。至于高版本报错,就有点夸张了,但是有很多细节还是要注意的。下面就为大家分享下我的心得。我尽量写的详细点。Unity安卓Studio3.1.2版本交互调用高德地图信息准备材料:1.我的unity..._uinty手机3.1版本
自定义 类似listview和recycleView的使用setAdapter的复合控件,红色标记的为重要代码。_listview相似的控件
软件测试岗是互联网新兴产业衍生岗位职位之一;软件测试在我们平时看来,就是给程序找bug,需要使用各种测试技术和工具来测试和发现软件中存在的缺陷,从而让开发者更好的优化产品,让用户更加安全顺畅的使用。软件测试岗1.制定测试计划通过测试计划来确定测试产品所需资源,确定测试策略、测试系统、测试任务,评估和确定测试工作量。测试数据和用例是对产品进行任务描述,通过测试需求分析、业务流程分析、测试用例设计、测...
1.前言:首先介绍下面向对象(OOP)的三大特征:(1)面向对象程序设计有三大特征:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)(2)封装(Encapsulation):类包含了数据和方法,将数据和方法放在一个类中就构成了封装。(3)继承(Inheritance):Java是单继承的(这点和C++有区别),意味着一个类只能继承于一个类..._python多态和鸭子特性
我们那两斤半的大脑里,有着千亿个神经元,每个神经元又有着上千个跟其他神经元“握手”的突触。不过,“脑子不够用”依然是全民共有的抱怨。去年,Zip大叔靠着一首“我的钥匙在哪?我的手机在哪?(Where’s My Keys? Where’s My Phone?)” 在英国达人秀一炮而红。令人懊恼的健忘就这样催生了一首万人传唱的神曲。我们的记忆存储在活生生的神经元里,正因如此,记忆不是白纸黑字的_海马脑区 保护