自定义view实现圆角图片.doc

自定义view实现圆角图片.doc

ID:56978159

大小:150.50 KB

页数:3页

时间:2020-07-30

自定义view实现圆角图片.doc_第1页
自定义view实现圆角图片.doc_第2页
自定义view实现圆角图片.doc_第3页
资源描述:

《自定义view实现圆角图片.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自定义view实现圆角图片前两天想实现一个圆角图片的效果,通过网络搜索后找到一些答案。这里自己再记录一下,加深一下自己的认识和知识理解。 实现圆角图片的思路是自定义一个ImageView,然后通过Ondraw()重绘的功能,将drawable和一个圆形进行重叠绘制,这样就可以达到圆角的效果了。 下面开始具体实现圆角图片的过程。第一步:写自定义属性文件首先我们需要定义一个属性。在values目录下面新建一个xml文件,这个文件用来自定义一些属性,这样我们就可以写出自己的控件了。12345678910

2、"encoding="utf-8">                                                        

3、tyleable>我来简单解释一下,declare-styleable这个标签就是用来自定义属性的,attr标签用来定义具体的属性,format可以指定很多种格式,具体有哪些属性,这里不做过多介绍了,请看博客中的介绍://blog.csdn.net/mayingcai1987/article/details/6216655。在本例子中dimension表示尺寸的意思,这个应该在平常的开发中也用到。同时还有一个enum的枚举类型,我们之前在用系统控件的时候,比如 android:orientation="v

4、ertical"就是比较典型的枚举类型,只不过在本例中我们自己实现了这个枚举类型。定义好这个之后,我们就可以开始写我们的自定义view的代码了。最后注意的一点,这里的这个xml的名字可以随便命名(不过最好命名的比较有意义),android系统会自动找到的。 第二步,自定义View  这一步是本文中最重要的一步,也是实现自定义view的核心。那么我们从目的出发来探讨实现圆角image的方式。那么我们的目的是将图片变圆,在这里一般人可能有想到两种方式将图片变圆 1.把本来图片修改为圆形,其他地方都是透明2.只是让显示的时候,动态的裁

5、剪到一些部分,然后让图片变圆。  这两种方法的优劣我想大家一眼就能看明白。直接修改图片,带来的后果是,我如果换了一种方式了,不再是圆角,而是星型,那么我们的图片已经毁掉了,没办法在重用了。而第二种方式就可以,无论我们换什么样的表现方式,我们是需要换一种裁剪的算法,就可以实现不同的形状的图片了,那么很显然,第二种方法是以不变应万变的。  那么现在,我们选定了第二种方式,那怎么实现呢?有人说我们自己写一个类,直接继承自view,然后所有的绘图和大小的计算我们都自己来搞,这样行吗?当然可行,但是我们可能是在重复造轮子,因为我们已经有了

6、一个ImageView,而且它里面给我们做了很多关于图片的操作,我们何不继承自ImageView,然后做少量的工作,就可以实现圆角效果呢。方案确定,好,那我们就开始实现自己的类。  1publicclassRoundImageViewextendsImageView{
  我们定义一个RoundImageView继承自ImageView 12privateintmBorderRadius;privateintmType;  然后两个成员变量,分别对应于自定义属性文件中的BorderRadius和RoundType。 接下来

7、我们重写构造函数12345678910111213publicRoundImageView(Contextcontext,AttributeSetattrs){        super(context,attrs);        mPaint=newPaint();           mPaint.setAntiAlias(true);        TypedArraya=context.obtainStyledAttributes(attrs,R.styleable.RoundImageAttrs);         

8、        mBorderRadius=a.getDimensionPixelSize(R.styleable.RoundImageAttrs_BorderRadius,                (int)TypedValue.applyDimensi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。