android5.0新特性 clipping的用法

1.使用场景

要实现一个按钮的圆角矩形效果,很简单,做过android ui开发的同学应该都会,不就是在drawable中新建一个shape文件,类似如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="30px"/><solid android:color="@android:color/white"/>
</shape>

然后设置为background。

然而今天的主角不是shape,而是5.0之后的clipping,更加灵活,直接几行代码搞定,不用shape,减少了资源文件的创建

2.实战

首先创建一个clipping_button.xml文件(不懂constraintLayout的同学可以上网搜一搜,这不是本文的重点):

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:app="http://schemas.android.com/apk/res-auto"><Buttonandroid:background="@color/colorAccent"android:layout_width="100dp"android:layout_height="100dp"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="parent"android:id="@+id/clipping_button"/>
</android.support.constraint.ConstraintLayout>

先来看一看运行的效果

很简单的一个矩形Button,现在我们要用clipping实现圆角矩形效果

import android.app.Activity;
import android.graphics.Outline;
import android.os.Bundle;
import android.view.View;
import android.view.ViewOutlineProvider;public class MainActivity extends Activity {private View view;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.clipping_button);view = findViewById(R.id.clipping_button);ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {@Overridepublic void getOutline(View view, Outline outline) {//别忘了加哦,不然没有效果view.setClipToOutline(true);outline.setRoundRect(0,0,view.getWidth(),view.getHeight(),30);}};view.setOutlineProvider(viewOutlineProvider);}
}

再来看一看效果图

android5.0新特性 clipping的用法相关推荐

  1. Android5.0新特性:CardView卡片式设计

    CardView卡片式设计 Android 5.0最主要的变化就是采用了全新的Material Design界面.Material Design就是材质化设计,材质化设计指的是物体是有质地的,两个控件 ...

  2. Android5.0新特性-Material Design

    概述 2014年,Google携Android5.X重装归来,全新的UI设计和更加优化的性能,令开发者眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS,下载地址 http ...

  3. Android5.0新特性:全新的动画

    在Material Design设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性.Material主题为控件和Activity的过渡提供了一些默认的动画,在android L上,允许 ...

  4. android 5.0 新功能,android5.0新特性

    使用方式:builde.gride文件中添加下面的依赖 compile'com.android.support:design:22.2.0'//可修改版本号为对应的buildToolsVersion版 ...

  5. Android5.0新特性:主题样式

    1. Theme主题 通常来说,可以直接使用系统定义好的Style/Theme,毕竟,系统为我们提供了丰富地选择.当然,你也可以自定义Theme,前提是该Theme必须继承与某个已经存在地Theme, ...

  6. Android5.0,6.0,7.0,8.0新特性整理

    背景 Android5.0(Android Lollipop)是谷歌公司2014年10月发布的全新安卓系统,至今已经两年多.然而由于国产手机对安卓ROM的深度定制或修改,以及手机厂商.芯片制造商.运营 ...

  7. Android5.0,6.0,7.0新特性整理

    背景 Android5.0(Android Lollipop)是谷歌公司2014年10月发布的全新安卓系统,至今已经两年多.然而由于国产手机对安卓ROM的深度定制或修改,以及手机厂商.芯片制造商.运营 ...

  8. Android5.0 6.0 7.0新特性

    原文链接:http://blog.csdn.net/haovip123/article/details/54618642 背景 Android5.0(Android Lollipop)是谷歌公司201 ...

  9. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

最新文章

  1. runtime系统的Cello
  2. php计算属相,一个判断干支、属相和星座的php函数
  3. html5 canvas 加载图片
  4. iis worker process cpu 高_egg中的master、worker和agent
  5. Python 实现杨辉三角
  6. spark任务优先级设置:spark.yarn.priority
  7. xwpython aui 子窗口-wxpython中的wxaui窗口管理器
  8. oracle关闭 manager,Oracle Enterprise Manager 11g 启停
  9. centos7定制linux镜像,自定制Centos7.3系统镜像(ISO)
  10. VSCode中使用vue项目ESlint验证配置
  11. css中用#id.class的形式定义样式,为什么这样用,不直接写成.class.代码如下:#skin_0.selected{}这种的...
  12. TinyXML中文文档,TinyXPath
  13. 一个简单的轮播图代码
  14. Python如何把字典写入到CSV文件
  15. 酷家乐怎样把两个方案合并_两个地产科技的理工男联姻:他们都想做一家云端的Autodesk...
  16. 安装SQL server出现“服务没有及时响应启动或控制请求”
  17. Python123第六章答案
  18. 公摊面积取消闹乌龙,历史学家李学勤逝世,微软员工抗议国防大单,前摩拜CEO后花68万上学,这就是今天的大新闻。...
  19. android nfc settimeout,微信小程序API NFC·NfcA标签
  20. vivo商城架构演进之路

热门文章

  1. windows7经典开机音乐_Windows 7正式退休,微软出手,网友含泪告别情怀:感谢11年陪伴...
  2. 我们的征途是星辰大海 蓝桥杯 Java组
  3. abp生成proxy代理时的一些问题记录
  4. Linux内核学习--ARM系列处理器(指令集等)性能全面分析
  5. HTML5网页设计阶梯教程(2)——插入图片与文字编辑
  6. access自动自动累计余额_在Access2007数据库中如何使用查询来计算累计余额
  7. 优启通桌面只有一个计算机,优启通图文详细使用教程,优启通使用教程
  8. Jetson Nano通过笔记本实现网络连接
  9. 麦克风阵列仿真环境的搭建
  10. (附源码连接)利用AI将2D照片合成3D场景