- 浏览: 209605 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
kingboup:
看了运行效果,不错,给力,谢谢
《安卓考试》Eclipse项目源码 -
在下个路口:
做android的,手机没root很奇怪吗?
【Android】使用Wifi连接ADB调试App -
guanting207:
图片显示限制了大小,为了正常显示,我加了scaletype=c ...
【Android】图片切角,切指定的边。 -
qinzuobin:
Version: 1.0.7(107)Android: 4.2 ...
《安卓考试》通用版ver-2,截图和源码 -
zxlxgd:
其实稍微改下下载方法就可以使用了:/** * 解析下载列表 ...
《安卓考试》Eclipse项目源码
公司的项目,UI和应用都是我自己做的。前几天设计了一个UI,出现了半边圆角的情况,如下图片所示。图片都来自服务器,肯定不能要求返回的图片按这个格式,必须在应用端对图片进行切角。
Google了好久,发现能找到的代码都是重复的,而且代码垃圾很多。于是按着那段代码的解决方式,自己写了一个实现指定切某一边的工具类。
直接可用的代码:
package com.lurencun.androidsysteminfomation; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Bitmap.Config; import android.graphics.PorterDuff.Mode; /** * @author : 桥下一粒砂 * @email : chenyoca@gmail.com * @date : 2012-11-8 * @desc : */ public class BitmapFillet { public static final int ALL = 347120; public static final int TOP = 547120; public static final int LEFT = 647120; public static final int RIGHT = 747120; public static final int BOTTOM = 847120; /** * * 指定图片的切边,对图片进行圆角处理 * @param type 具体参见:{@link BitmapFillet.ALL} , {@link BitmapFillet.TOP} , * {@link BitmapFillet.LEFT} , {@link BitmapFillet.RIGHT} , {@link BitmapFillet.BOTTOM} * @param bitmap 需要被切圆角的图片 * @param roundPx 要切的像素大小 * @return * */ public static Bitmap fillet(int type,Bitmap bitmap,int roundPx) { try { // 其原理就是:先建立一个与图片大小相同的透明的Bitmap画板 // 然后在画板上画出一个想要的形状的区域。 // 最后把源图片帖上。 final int width = bitmap.getWidth(); final int height = bitmap.getHeight(); Bitmap paintingBoard = Bitmap.createBitmap(width,height, Config.ARGB_8888); Canvas canvas = new Canvas(paintingBoard); canvas.drawARGB(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT); final Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLACK); if( TOP == type ){ clipTop(canvas,paint,roundPx,width,height); }else if( LEFT == type ){ clipLeft(canvas,paint,roundPx,width,height); }else if( RIGHT == type ){ clipRight(canvas,paint,roundPx,width,height); }else if( BOTTOM == type ){ clipBottom(canvas,paint,roundPx,width,height); }else{ clipAll(canvas,paint,roundPx,width,height); } paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); //帖子图 final Rect src = new Rect(0, 0, width, height); final Rect dst = src; canvas.drawBitmap(bitmap, src, dst, paint); return paintingBoard; } catch (Exception exp) { return bitmap; } } private static void clipLeft(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(offset,0,width,height); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, 0, offset * 2 , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipRight(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, 0, width-offset, height); canvas.drawRect(block, paint); final RectF rectF = new RectF(width - offset * 2, 0, width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipTop(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, offset, width, height); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, 0, width , offset * 2); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipBottom(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, 0, width, height - offset); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, height - offset * 2 , width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipAll(final Canvas canvas,final Paint paint,int offset,int width,int height){ final RectF rectF = new RectF(0, 0, width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } }
评论
1 楼
guanting207
2015-07-01
图片显示限制了大小,为了正常显示,我加了scaletype=centercrop,这样大图的圆角就显示不出来了,不知道楼主有没有遇见这个问题,求指教。357553873
发表评论
-
类似HTML map标签功能的Android组件
2013-05-21 15:56 2293Android Image Map 一个类似HTML ma ... -
【开源框架】一个基于回调机制的多线程异步Http连接框架
2013-04-26 09:59 2930Async Http Connection 源码地址: h ... -
【Android + Java】简便的异步Http连接框架
2012-11-06 11:05 5000【Android + Java】简便的异步Http连接框架 ... -
【Android】使用Wifi连接ADB调试App
2012-11-05 09:39 27606为什么用Wifi连接ADB不用数据线?因为我的数据线不见了。 ... -
MacOSX创建Android调试环境
2012-11-02 23:25 2639本文写的是Mac OS X Lion 10.8中搭建Andro ... -
《安卓考试》通用版ver-2,截图和源码
2012-05-26 22:26 3469首先放出源码:https://github.com/cheny ... -
将Cocos2d-x项目移植到Android过程分析
2012-04-25 15:59 0网上有一系列教程,还有各种原理分析。需要学习对Android ... -
个人项目整理——UI设计(Android)
2012-04-04 18:30 1619快毕业了,整理一下大学这四年来做过的东西。今天一位伟大的老板问 ... -
父View的TouchEvent自执行后再分配/派发的处理
2012-02-04 17:49 1213这两天写了一个自定义滑动翻页,类似主页切换效果的组件。 动态 ... -
Maven修改本地仓储位置
2012-01-04 17:36 13631、在到Maven安装目录的conf下的setting.xml ... -
Scala写的Android应用安装时报INSTALL_PARSE_FAILED_NO_CERTIFICATES
2011-12-19 20:55 1668原来环境: -JDK 7 -Scala 2.9final 用 ... -
图解,Eclipse+ADT+ScalaIDE用Scala写Android程序
2011-12-15 19:47 5704网上有很多用Scala写Android程序的文章,但大都是转自 ... -
[译]用Scala为Android写应用程序
2011-12-12 09:31 0本人英文水平麻麻地,四级待考。如有错误,请指正。 本文献给所 ... -
Android外置存储器(SD卡)工具类
2011-12-08 10:45 3371纯属代码分享:Android外置存储器(SD卡)工具类 ... -
外置存储器(SD卡)工具类
2011-12-08 10:40 1纯属代码分享 /** * */ packag ... -
启动界面淡入动画显示类
2011-12-07 20:08 1783啥都不要说了,看代码: /** * */ p ... -
Android联系人数据表结构
2011-11-17 20:28 3763数据库位置在: /data/data/com.android ... -
打包下载Android源码
2011-11-16 12:00 3056在Windows环境下,在Android官网下载源码是一件很麻 ... -
(图文详解)在Eclipse中给Android项目自定义ANT配置
2011-11-15 18:33 0参考博文:http://googlers.iteye.com/ ... -
校外实习了
2011-11-08 21:13 1071学校安排到深圳实习,各种坑爹。
相关推荐
在Android平台上,从指定文件夹显示图片涉及到一系列的步骤和技术,包括文件系统操作、图片加载库的使用以及UI设计。以下是对这个主题的详细讲解: 首先,我们需要理解Android的文件系统结构。Android设备通常有两...
综上所述,Android中实现"拍照或选取指定区域的图片"的完美解决方案,主要涉及以下几个步骤:引入`CropImage`库,设置相机和相册权限,启动相机或相册选取图片,调用裁剪接口,以及处理裁剪结果。通过这个方案,...
综上所述,要在Android的ImageView上指定位置添加图片,并实现等比例缩放和自适应,我们需要对Android的视图布局、ImageView的ScaleType、Bitmap的缩放以及适应不同屏幕尺寸有深入理解。通过以上代码示例,我们可以...
总之,实现“android查找指定目录下的视频或图片”这一功能,需要熟悉Android的文件系统、MediaStore API、ContentResolver以及UI设计。在实践中,还应注意性能优化、权限管理和错误处理,确保应用的稳定性和易用性...
总结,Android将图片切成正方形涉及Bitmap的解码、裁剪、缩放以及内存管理和显示等多个环节。开发者需要根据实际需求灵活运用这些技术,并关注性能优化,以提供流畅的用户体验。通过以上步骤,你可以实现从任意尺寸...
在Android开发中,实现图片浏览的全屏缩放效果是一项常见的需求,特别是在社交应用中,如QQ好友动态和微信朋友圈。这种功能不仅需要提供良好的用户体验,还需要考虑性能和内存优化,因为图片通常较大,处理不当可能...
在Android开发中,有时我们需要对显示的图片进行特殊处理,比如让图片呈现圆角或完全圆形。本知识点将深入探讨如何在Android应用中完美实现图片的圆角和圆形效果。 首先,我们来看如何实现图片的圆角效果。Android...
在Android开发中,将文字添加到图片上的需求十分常见,比如在地图应用中进行位置标注、制作信息图或者个性化头像等。以下是一些关于如何在Android图片上添加文字的关键知识点: 1. **画布与Bitmap**: 在Android中,...
在Android平台上,实现在线视频播放是一项常见的需求,尤其在移动设备上,用户希望可以边缓存边播放视频,以提供流畅的观看体验。本篇文章将深入探讨如何在Android中实现这种功能,主要围绕"Android在线视频播放之边...
在Android开发中,实现图片翻转动画是一种常见的交互设计,可以增强用户体验,使得应用看起来更加生动有趣。本文将深入探讨如何在Android平台上实现3D图片翻转动画。 首先,我们需要了解Android中的动画系统。...
在Android平台上,保护用户的隐私数据,尤其是敏感的图片信息,是一项重要的任务。本文将深入探讨如何实现Android图片的加密和解密,主要关注国际标准的AES(Advanced Encryption Standard)加密和混入字节加密这两...
在Android开发中,图片裁剪是一项常见的功能,广泛应用于各种应用程序,如社交应用中的头像设置、拍照应用的编辑功能等。本知识点将详细介绍如何在Android中实现图片的移动和缩放裁剪。 首先,我们需要了解Android...
通过创建一个意图,设置其动作为`ACTION_PICK`,并指定类型为图片(`"image/*"`),可以打开系统的图库应用,让用户选择图片。 - 为了支持多选,我们需要使用第三方库,如`com.github.chrisbanes:PhotoPicker`或`...
在Android开发中,图片的缩放和放大是一个常见的需求,特别是在设计用户界面或者处理图像时。这个"android图片缩放、放大demo"可能是提供了一个实际的项目实例,用于展示如何在Android应用程序中实现图片的动态调整...
在Android开发中,图片处理是一项常见的任务,涉及到用户体验和应用性能。"android图片处理集合demo"是一个示例项目,集中展示了多种图片处理技术。虽然代码可能没有经过精心整理,但仍然能为开发者提供宝贵的参考。...
本项目实现了“android地图定位到指定坐标”,使用了百度地图API,允许用户手动将地图中心点移动到特定地理位置。 首先,要实现地图功能,我们需要在AndroidManifest.xml文件中添加必要的权限,包括访问网络、读取...
通过以上步骤,我们就成功地实现了在Android的WebView中进行图片缓存、替换加载前的默认图片样式以及图片点击事件的处理。这不仅提升了用户体验,还能有效地减少网络资源的消耗。同时,这些技术也可以作为基础,...
// 图片已经保存在指定的文件中,可以进行处理 // ... } catch (Exception e) { e.printStackTrace(); } } } ``` 最后,别忘了在AndroidManifest.xml中添加相应的权限声明,包括读写外部存储权限和使用相机的...
在Android客户端调用Web Service上传图片到服务器的过程中,主要涉及以下几个关键知识点: 1. **文件I/O操作**:客户端首先需要从SD卡或其他存储位置读取图片文件。这里使用`FileInputStream`读取图片文件,然后...
在Android开发中,实现图片左右滑动效果是常见的需求,比如在查看相册或轮播图时。这个功能可以通过多种方式实现,其中最常用的是使用ViewPager组件。ViewPager允许用户通过左右滑动手势在多个页面之间切换,非常...