天天看点

android控件设置圆角和圆形框架,给任意view设置圆角outline.setRoundRect()方法实现

效果图,给banner设置圆角,1没有直接修改imageView而是使用自带方法进行设置

android控件设置圆角和圆形框架,给任意view设置圆角outline.setRoundRect()方法实现

具体方法如下

//圆角方法

@TargetApi(Build.VERSION_CODES.LOLLIPOP)

public void setClipViewCornerRadius(View view, final int radius) {

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {

//不支持5.0版本以下的系统

return;

}

if (view == null) return;

if (radius <= 0) {

return;

}

view.setOutlineProvider(new ViewOutlineProvider() {

@Override

public void getOutline(View view, Outline outline) {

// outline.setRoundRect(20, 20, view.getWidth()-40, view.getHeight()-40, radius);

outline.setRoundRect(40, 0, view.getWidth()-40, view.getHeight(), radius);//这是设置圆角的关键设置

// Rect rect = new Rect();

// view.getGlobalVisibleRect(rect);

// int leftMargin = 40;

// int topMargin = 40;

// Rect selfRect = new Rect(leftMargin, topMargin,

// rect.right - rect.left - leftMargin, rect.bottom - rect.top - topMargin);

// outline.setRoundRect(selfRect, 30);

}

});

view.setClipToOutline(true);

}

转 ios给view设置圆角

// 圆角 userhead.layer.masksToBounds = YES; userhead.layer.cornerRadius = 6.0; userhead.layer.borderWi ...

IOS 设置圆角用户头像

在App中有一个常见的功能,从系统相册或者打开照相机得到一张图片,然后作为用户的头像.从相册中选取的图片明明都是矩形的图片,但是展示到界面上却变成圆形图片,这个神奇的效果是如何实现的呢? 请大家跟着下 ...

Android 自定义View修炼-Android实现圆形、圆角和椭圆自定义图片View(使用BitmapShader图形渲染方法)

一.概述 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继 ...

iOS设置圆角的方法及指定圆角的位置

在iOS开发中,我们经常会遇到设置圆角的问题, 以下是几种设置圆角的方法: 第一种方法: 通过设置layer的属性 代码: UIImageView *imageView = [[UIImageView ...

iOS设置圆角的四种方法

小小圆角问题,正常情况下,我们不需要过多关心,但当屏幕内比较多的时候,还是有必要了解下性能问题的 一.设置CALayer的cornerRadius 这是最常用的,也是最简单的. cornerRadiu ...

android中对Bitmap图片设置任意角为圆角

http://blog.csdn.net/l448288137/article/details/48276681 最近项目开发中使用到了圆角图片,网上找到的圆角图片控件大多比较死板,只可以全圆角.其中 ...

&lbrack;BOT&rsqb; 一种android中实现&OpenCurlyDoubleQuote;圆角矩形”的方法

内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

Android 自定义 view(四)&mdash&semi;&mdash&semi; onMeasure 方法理解

前言: 前面我们已经学过,那么接下我们还需要继续去理解自定义view里面的onMeasure 方法 推荐文章: htt ...

Android中View的绘制过程 onMeasure方法简述 附有自定义View例子

Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...

随机推荐

关于el jstl

requestScope表示从request范围内取得.其他的还有sessionScope, pageScope和applicationScope,分别对应4种属性范围.而如果直接写${passwor ...

Linux system V

Sysvinit 的小结 Sysvinit 的优点是概念简单.Service 开发人员只需要编写启动和停止脚本,概念非常清楚:将 service 添加/删除到某个 runlevel 时,只需要执行一些 ...

关于mac mini组装普液晶显示器

申请了好久的mac mini,部门终于给买下来了.没想到,买回来之后的组装还是折腾了我们一把.  因为先前没用过mac mini,以为它和普通的台式机一样,买回来就能直接到显示器上用了.结果买回来ma ...

【C&num;学习笔记】读文件

using System; using System.IO; namespace ConsoleApplication { class Program { static void Main(strin ...

jQuery取CSS的HEX&lpar;16位&rpar;颜色值

//IE10以上版本.CHROME.FIREFOX中GRB颜色转HEX颜色值 $.fn.getBackgroundColor = function() { var rgb = $(this).css( ...

Problem A&colon; STL——灵活的线性表

Description 数组和链表是我们熟知的两种线性结构,但是它们不够灵活(不能同时实现直接插入.删除和访问操作),给你若干种操作,你能通过一种灵活的容器,实现它们的功能吗? 操作1:Build a ...

linux系统下MySQL表名区分大小写问题

linux系统下MySQL表名区分大小写问题 https://www.cnblogs.com/jun1019/p/7073227.html [mysqld] lower_case_table_name ...

python数据类型知识整理

python数据类型种类 int数字.bool布尔值.dict字典.tunple元组.set集合.list列表.字符串 int数字 #常用来进制转换 num = 11 #转化成2进制 bin_num ...

Python函数--装饰器进阶

开放封闭原则 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新功能. 2.对修改是封 ...