- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
androidclipsquare 实现方形头像裁剪.doc
AndroidClipSquare 实现方形头像裁剪
实现思路,界面可见区域为2层View
最顶层的View是显示层,主要绘制半透明边框区域和白色裁剪区域,代码比较容易。
第二层继承ImageView,使用ImageView的Matrix实现显示部分图片,及挪动,放大缩小等操作。
比较复杂的地方在于多指操作对ImageView的影响,详见代码:
ClipSquareImageView.java
package com.h3c.androidclipsquare;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
/**
* Created by H3c on 12/13/14.
public class ClipSquareImageView extends ImageView implements View.OnTouchListener, ViewTreeObserver.OnGlobalLayoutListener {
private static final int BORDERDISTANCE = ClipSquareView.BORDERDISTANCE;
public static final float DEFAULT_MAX_SCALE = 4.0f;
public static final float DEFAULT_MID_SCALE = 2.0f;
public static final float DEFAULT_MIN_SCALE = 1.0f;
private float minScale = DEFAULT_MIN_SCALE;
private float midScale = DEFAULT_MID_SCALE;
private float maxScale = DEFAULT_MAX_SCALE;
private MultiGestureDetector multiGestureDetector;
private boolean isIniting;// 正在初始化
private Matrix defaultMatrix = new Matrix();// 初始化的图片矩阵,控制图片撑满屏幕及显示区域
private Matrix dragMatrix = new Matrix();// 拖拽放大过程中动态的矩阵
private Matrix finalMatrix = new Matrix();// 最终显示的矩阵
private final RectF displayRect = new RectF();// 图片的真实大小
private final float[] matrixValues = new float[9];
private int borderlength;
public ClipSquareImageView(Context context, AttributeSet attrs) {
super(context, attrs);
super.setScaleType(ScaleType.MATRIX);
setOnTouchListener(this);
multiGesture
您可能关注的文档
- 环境影响评价报告公示:内蒙古医科大学附属医院门诊病房综合楼环评报告.doc
- 长期股权投资的会计处理与税务处理差异(一).doc
- 破解网上贸易大骗术.doc
- 世纪以来唐宋之际经济格局变迁研究综述.docx
- 台式电子显微镜.doc
- 第一节 国际贸易磋商前的准备.doc
- 中日双边服务贸易成本比较——基于服务行业异质性视角的经验分析.doc
- 基于博弈论的房地产业中各博弈方策略分析..doc
- 企业资金管理的探究.doc
- 初中初一作文(字):书香伴我度暑假.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- DPtech FW1000系列应用防火墙典型配置v3.2.pdf
- 部编人教版小学四年级语文上册《一只窝囊的大老虎》教案.pdf
- 2024年新高考英语总复习考点12 分词(上海专用原卷版).docx VIP
- (2024秋)部编版一年级语文上册《 四季》PPT课件【优质版】.pptx
- 脑出血患者护理心得.doc VIP
- 【全部】小学1--6年年级统编语文教材(上下册)古诗词.pdf
- 清华大学“应用随机过程”习题答案.pdf
- BDA-老虎基金京东深度研究报告EN-2015 05 19.pptx VIP
- 成都至峨眉山高速公路环评报告书.pdf VIP
- 人教版六年级数学上册第五单元《圆的认识》作业设计.pdf
文档评论(0)