在Android UI开发专题的前五节我们讲到的东西主要是基础和理论内容,从本次Android123将通过实例代码来演示,本次主要是Bitmap和Canvas类的使用,根据要求缩放Bitmap对象并返回新的Bitmap对象。centerToFit方法一共有4个参数,返回一个Bitmap类型,第一个参数为原始的位图对象,width和height分别为新的宽和高,而Context是用来加载资源的上下文实例。
Bitmap centerToFit(Bitmap bitmap, int width, int height, Context context) {
final int bitmapWidth = bitmap.getWidth(); //获取原始bitmap的宽度
final int bitmapHeight = bitmap.getHeight();
if (bitmapWidth < width || bitmapHeight < height) {
int color = context.getResources().getColor(R.color.window_background); //从资源读取背景色
Bitmap centered = Bitmap.createBitmap(bitmapWidth < width ? width : bitmapWidth,
bitmapHeight < height ? height : bitmapHeight, Bitmap.Config.RGB_565);
centered.setDensity(bitmap.getDensity());
Canvas canvas = new Canvas(centered);
canvas.drawColor(color); //先绘制背景色
canvas.drawBitmap(bitmap, (width - bitmapWidth) / 2.0f, (height - bitmapHeight) / 2.0f,null); //通过Canvas绘制Bitmap
bitmap = centered;
}
return bitmap; //返回新的bitmap
}
本段代码从Android 2.1开始将会应用在全新的Home主屏上,同时相关的ImageView的适应屏幕大小的setScaleType(fitCenter) 方法类似,仅仅是我们制定了未来的大小。
分享到:
相关推荐
在Android UI开发中,Bitmap和Canvas是两个非常重要的概念,它们是实现自定义视图、图形绘制和图像处理的关键工具。Bitmap是Android中用于表示位图图像的数据结构,而Canvas则是一个画布,用于在屏幕上绘制这些位图...
- 可以通过Bitmap的`createBitmap()`或`copy()`方法创建一个新的Canvas实例,然后在该实例上进行绘制。 - 在View的`onDraw()`方法中,系统会提供一个Canvas实例,可以直接使用。 3. **绘制基本元素** - `...
2. 获取一个Canvas实例,通常通过Bitmap的`createBitmap()`或`lockCanvas()`方法。 3. 使用Canvas提供的绘图方法进行绘制。 4. 完成绘制后,调用`unlockCanvasAndPost()`(如果是View的Canvas)或者释放Canvas资源...
全书分为18章,分别讲解了UI布局实例集锦、控件实例集锦、自动化服务实例集锦、数据存储实例集锦、电话和短信实例集锦、图形图像实例集锦、和网络有关的实例集锦、多媒体实例集锦、Google地图实例集锦、GoogleAPI...
在本篇内容中,我们将基于提供的标题“Android高级UI视频”、描述“Android高级UI canvas和path的高级使用。大牛视频”以及标签“高级UI canvas Path”,来深入探讨Android高级用户界面设计中的Canvas和Path组件的...
在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。`Canvas`类提供了丰富的绘图...通过学习和实践这个Demo,开发者可以掌握在Android中创建动态图形和动画的基础,为进一步开发丰富的UI交互打下坚实基础。
Android的UI系统基于View和ViewGroup构建,一个ViewGroup可以包含多个View。当我们说“获取界面部分view”时,实际上是指选取特定的View实例,这可能是一个按钮、文本框、自定义视图等。我们可以通过View的`...
总结,Android Canvas绘图是Android UI开发中的核心技能之一,掌握其使用可以让我们创建出丰富多样的用户界面和动态效果。通过熟练运用Canvas的各种绘图方法和配合Paint对象,开发者可以自由地在屏幕上创造出任何想...
在Android游戏开发中,涉及到许多核心技术和组件,这些在标题和描述中有所提及。下面将对这些关键知识点进行深入解析。 1. **View与SurfaceView**: - **View**:是Android UI系统的基础,它代表屏幕上的一个可视...
本教程“Android图形开发实例”旨在帮助开发者深入理解和掌握Android图形系统,提升应用程序的视觉表现和用户体验。 一、Android图形系统基础 Android的图形系统主要基于OpenGL ES,一个为嵌入式设备设计的2D和3D...
在安卓开发中,Bitmap是用于处理图像的基本类,它提供了位图操作的各种功能,包括加载、绘制、修改和保存图片。这份"安卓Android源码——(Bitmap位图渲染与操作)"的资料,很可能是深入讲解如何在Android系统中有效地...
在Android开发中,将网络图片转化为Bitmap对象并进行各种效果处理是常见的需求。本文将详细介绍如何根据URL获取Bitmap,以及如何实现灰度化、线性灰度化和二值化的渲染处理。 首先,我们需要从网络上下载图片。...
在Android平台上进行应用程序开发时,有时我们需要实现一些自定义视图功能,比如创建圆形截图或者利用Canvas进行图形绘制。这份毕业设计的源码Demo就是针对这样的需求,它提供了Android截图并将其转换为圆形的实现...
源码中可能有使用MediaPlayer、ExoPlayer进行多媒体播放的实例,或者使用Camera API和Bitmap进行图像处理的案例,这有助于开发者掌握多媒体资源的管理和处理。 5. **通知与服务**:Android服务可以后台运行,执行长...
开发者需要使用Canvas和Bitmap进行图形绘制,通过SurfaceView实现流畅的动画效果,同时理解游戏规则并编写相应的逻辑代码。 6. **Android UI设计**:Android提供了一套丰富的布局管理器,如LinearLayout、...
14. **图形和动画**:Android提供了Canvas、Bitmap和OpenGL等工具进行图形绘制,以及Property Animation和Transition API进行动画效果制作。 15. **网络编程**:Android应用可能需要进行HTTP请求,使用...
2. **获取Canvas对象**:然后通过Bitmap的lockCanvas()方法获取Canvas实例,这个Canvas将会绑定到指定的Bitmap上。 3. **绘图操作**:有了Canvas后,就可以调用它的draw方法进行绘图了。例如,drawRect用于画矩形,...
在安卓(Android)开发中,实现屏幕截图以及绘制圆形效果是常见的需求,这些功能往往涉及到图形绘制和用户界面(UI)的设计。在这个“安卓开发-Android截图,圆形,Canvas.zip”压缩包中,可能包含了一些示例代码或者...
1. **2D图形绘制**:使用Canvas和Bitmap进行图形绘制,包括线条、形状、图片等。 2. **动画实现**:Android提供了多种动画机制,如属性动画、帧动画等,可用于实现游戏中的角色移动、效果展示等。 第05章可能涵盖...