Android 滑动效果基础篇(三)—— Gallery仿图像集浏览
Android简单的登陆界面的设计开发
通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:
实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.360docs.net/doc/1110314008.html,. JDK的下载地址https://www.360docs.net/doc/1110314008.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.360docs.net/doc/1110314008.html,/downloads/ 2.Android开发环境搭建
Android图片处理工具类(圆角,压缩)
Android图片处理工具类(圆角,压缩) 工作中用到的图片处理工具类,简单写下来,以便备用! public class BitmapUtils { /** * 图像背景圆角处理 * bitmap要处理的图片 roundPx 图片弯角的圆度一般是5到10之间 */ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) { // 创建与原图大小一样的bitmap文件,Config.ARGB_8888根据情况可以改用其它的 Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); // 实例画布,绘制的bitmap将保存至output中 Canvas canvas = new Canvas(output); final int color = 0xff424242;//写自己需要的颜色值 final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); bitmap.recycle(); bitmap = null; return output; } /** * bitmap缩放 * width要缩放的宽度 height要缩放的高度 */ public static Bitmap getBitmapDeflation(Bitmap bitmap, int width, int height, boolean recycle) { if (null == bitmap) { return null;
第4章 Android用户界面设计
视图组件的使用模式 常用组件 高级组件 提示框与警告对话框
就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性
1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)
1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。
1.1视图组件的定义
如何在android程序中显示图片
我们做Android 程序的时候,有时候需要显示图片在界面上,这里我们将实现一个将图片展示到手机屏幕,并让其不停的浮动的效果! 首先我们要先准备一张图片,在这里我准备了一张图片,如下: 将此图片放到文件夹"res->drawable-*dpi"下,记得,三个文件夹都要放,因为系统会根据不同的分辨率去取不同的图片,如果有的没放,在某些分辨率下,会找不到资源。将此图片重命名为“pic.png”,在R.java里的drawable 类里会生成一个pic的常量。 图片要显示,就是要容器可以让其显示,因为所有的Android的UI组件都是继承自View,View也实现了Drawable接口,所以在此,我们也重新定义一个View让其用来显示我们的这张图片,并让这张图片浮动。我们创建一个在包“org.leo.bitmap”下的,类名为“MovingPictureView”的类,该类继承自android.view.View。此类目前代码大致如下: public class MovingPictureView extends View { public MovingPictureView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } } 我们要重载他的“onDraw”方法,这个方法就是Android框架展现View的时候用来绘制显示内容那个的方法。在此我们将他的所有方法体都删除掉(上面代码红色部分删掉),完全将其重写。首先我们要创建一个图片对象,在Android里,所有位图图片都是使用Bitmap类来封装的,我们就先声明一个代表我们刚才图片的一个Bitmap对象,可通过以下方式声明: Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic); 其中的“getResources()”方法,是有View提供的,可以根据此方法获得我们所有的资源,将来有机会再细说!
如何用Android用ImageView显示本地和网上的图片说明
如何用Android用ImageView显示本地和网上 的图片说明 Android:ImageView如何显示网络图片 本文地址:https://www.360docs.net/doc/1110314008.html,/programmar/blog/item/79483ecb2ac75cf552664fd3.html在 Android中显示一张网络图片其实是超级简单的,下面就一个非常简单的例子: Step1: 1、创建你的Activity,本例中以ViewWebImageActivity说明; 2、ViewWebImageActivity中的代码如下: String imageUrl = "https://www.360docs.net/doc/1110314008.html,/baidu/pic/item/7d8aebfebf3f9e125c6008d8.jpg"; //这就是你需要显示的网络图片---网上随便找的 Bitmap bmImg; ImageView imView; Button button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/1110314008.html,yout.main); imView = (ImageView) findViewById(R.id.imview); imView.setImageBitmap(returnBitMap(imageUrl)); } public Bitmap returnBitMap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection(); conn.setDoInput(true); conn.connect();
Android界面设计教程
这样的话就比较容易实现了,再看一下整体的Layout布局情况: xml布局文件如下:注意层次的嵌套。先是一个RelativeLayout,它有两个子布局,RelativeLayout和LinearLayout。 android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:padding="10.0dip" android:singleLine="true" android:text="设置" android:textColor="@color/white" android:textSize="15dp" />
android 图片剪裁
1. Canvas类用来实现绘制.通过组合使用Canva s类的成员函数可以实现随心随欲地绘制图片的任何部分. Canvas.clipRect:设置显示区域 Canvas.drawBitmap:绘制 例子: Bitmap b=Bitma pFactory.decodeStream("图片编号", null);//读取图片 ... Canvas c = null;//实例Canvas c.save();//记录原来的ca nvas状态 c.clipRect(100,100,200,300);//显示从(100,100)到(200,300)的区域(单位:象素) c.drawBitmap(b,10,0,null); //将阉割过的图片画到(10,0)位置 c.restore();//恢复canva s状态 2. android 从sdcard 读取图片剪切粘贴 文章分类:移动开发 android 图片编辑时需要从外界(sdcard ,res/.png...,xml)读取图片到画布,其中从sdcard读取图片到画布的过程如下: public void drawBitMapFromSDcard(String dir) { if(dir ==null || dir.equals("")){ return ; } bitMap = BitmapFactory.decodeFile(dir); int width = bitMap.getWidth(); int height = bitMap.getHeight(); 如果图片像素太大超过手机屏幕大小可以按照手机屏比例进行缩放 if (width > 320 && height > 480) { int newWidth = 320; int newHeight = 480; float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; float minScale = Math.min(scaleWidth, scaleHeight); matrix = new Matrix();
基于Android系统的App界面设计
基于Android系统的App界面设计 智能手机时代的来临改变了大多数人的生活习惯,时至今日智能手机已经成为了人们工作生活中的一部分,在工作生活中发挥着重要的作用。App作为智能手机应用程序的核心,构建以用户体验为核心的页面设计是智能手机App设计的核心与要点,同时也是满足用户使用需求的重要途径与方式。现今的智能手机App主要分为IOS与Android两大市场,与IOS的封闭不同的是Android系统具有极强的开放性,而这一开放性在为Android系统App带来无限可能的同时也使得基于Android系统所开发的App界面本身缺乏统一的规范,从而造成基于Android系统所开发的App界面具有极大的开放性。新时期为做好基于Android 系统App的设计需要从情感、认知以及感官三个层面入手做好基于Android系统的App界面的开发设计,使之具有良好的用户使用体验。 标签:Android系统;App;界面设计 Abstract:The advent of the smart phone era has changed the habits of most people. Today,smart phone s have become a part of people’s work and life,and play an important role in the work and life. As the core of smart phone applications,App plays an important role in the work and life. The design of page based on user experience is the core and key point of the App design of smart phone,and it is also an important way and way to meet the needs of users. Today’s smartphone App is mainly divided into IOS and Android two major markets,Different from the closure of IOS,Android system has a very strong openness,and this openness not only brings infinite possibility to App of Android system,but also makes the App interface based on Android system lack of unified specification. As a result,the App interface based on Android system is very open. In order to do well the design of App based on Android system in the new period,it is necessary to develop and design the App interface based on Android system from the three aspects of emotion,cognition and sense organ,to make it have a good user experience. Keywords:Android system;App;interface design 前言 Android系统是与IOS系统所并行的应用于智能手机中的两大智能系统,在基于Android系统App界面开发的过程中受多种因素的影响使得一些App的界面具有很大的不协调性,从而影响了广大用户的使用体验。本文在分析影响智能手机App界面设计因素的基础上对如何做好基于Android系统的App界面设计进行分析阐述。 1 影响智能手机App界面设计的因素分析 智能手机App是智能手机的灵魂,用户结合自身需求可以下载安装自身所
android图片3d旋转
看到很多人在问如何实现三维的翻转效果,所以今天在这里简单的给大家分析一下,其实在APIDemo中就有这样一个例子,那么我们就以其为例来学习Android中的翻转动画效果的实现,首先看一下运行效果如下图所示。 Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,那么我们首先来分析一下Animation 和Transformation。 Animation动画的主要接口,其中主要定义了动画的一些属性比如开始时间,持续时间,是否重复播放等等。而Transformation中则包含一个矩阵和alpha值,矩阵是用来做平移,旋转和缩放动画的,而alpha值是用来做alpha动画的,要实现3D旋转动画我们需要继承自Animation类来实现,我们需要重载getTransformation和applyTransformation,在getTransformation中Animation会根据动画的属性来产生一系列的差值点,然后将这些差值点传给applyTransformation,这个函数将根据这些点来生成不同的Transformation。下面是具体实现: 1.public class Rotate3dAnimation extends Animation { 2.//开始角度 3. private final float mFromDegrees; 4.//结束角度 5. private final float mToDegrees; 6.//中心点
7. private final float mCenterX; 8. private final float mCenterY; 9. private final float mDepthZ; 10.//是否需要扭曲 11. private final boolean mReverse; 12.//摄像头 13. private Camera mCamera; 14. public Rotate3dAnimation(float fromDegrees, float toDegrees, 15. float centerX, float centerY, float depthZ, boolean reverse) { 16. mFromDegrees = fromDegrees; 17. mToDegrees = toDegrees; 18. mCenterX = centerX; 19. mCenterY = centerY; 20. mDepthZ = depthZ; 21. mReverse = reverse; 22. } 23. 24. @Override 25. public void initialize(int width, int height, int parentWidth, int par entHeight) { 26. super.initialize(width, height, parentWidth, parentHeight); 27. mCamera = new Camera(); 28. } 29.//生成Transformation 30. @Override 31. protected void applyTransformation(float interpolatedTime, Transformat ion t) { 32. final float fromDegrees = mFromDegrees; 33.//生成中间角度 34. float degrees = fromDegrees + ((mToDegrees - fromDegrees) * interp olatedTime); 35. 36. final float centerX = mCenterX; 37. final float centerY = mCenterY; 38. final Camera camera = mCamera; 39. 40. final Matrix matrix = t.getMatrix(); 41. 42. camera.save(); 43. if (mReverse) { 44. camera.translate(0.0f, 0.0f, mDepthZ * interpolatedTime); 45. } else {
安卓图片批量处理软件 (12页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 安卓图片批量处理软件 篇一:Android_解决图片大量下载:软引用 Android 解决图片大量下载:软引用 1.对象的强、软、弱和虚引用 为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为:强引用、软引用、弱引用和虚引用 备注:这四种的区别: ⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ⑵软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存(下文给出示例)。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。 ⑶弱引用(WeakReference) 弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。
Android图片浏览器
长沙学院课程设计说明书 题目Android图片浏览器 系(部) 计算机科学与技术 专业(班级) 软件工程(10软件6班) 姓名彭成辉 学号2010022504 指导教师杨凤年 起止日期2013.05.27~2013.06.21
课程设计任务书 课程名称:综合实训Ⅱ 题目:Android图片浏览器 已知技术参数和设计要求: 设计基于Android平台的图片浏览器程序,具体要求如下: 1.图片文件的管理功能。在配置文件中配置访问SD卡文件的权限,使用File类访问SD卡上的图片文件。 2.用户浏览图片的功能。用户通过触摸屏操作选择图片进行浏览,使用事件响应函数响应用户的操作,可以使用ImageView在屏幕中显示图片。 3.用户编辑图片的功能。用户可以放大、缩小、旋转和裁剪图片。 4.设置壁纸功能。将选择的图片设置为壁纸,可以使用WallPaper类来完成该功能。 5.图片文件的排序功能和查找功能。根据文件的名称、日期或者其他属性进行排序,根据文件的名称、日期或者其他属性进行查找。 6.使用多种视图展示图片的功能。可以使用ListView、GridView或者Gallery类来展示图片。各阶段具体要求: (1)开发前的准备:Android开发环境的搭建。 (2)系统分析与设计:包括程序需求分析、UI设计、业务逻辑设计等。 (3)系统编码实现:根据以上六点要求,对Android图片浏览器进行编码实现。 (4)测试:编写测试用例对程序进行测试。 设计工作量: (1)软件设计:完成问题陈述中所提到的软件以及工作量要求。 (2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。 工作计划: 安排4周时间进行综合实训。 第一周----Android开发环境的搭建,软件需求分析。 第二周----UI设计、业务逻辑设计。 第三、四周----Android图片浏览器的代码实现与软件测试。 注意事项 ?提交文档 长沙学院课程设计任务书(每学生1份) 长沙学院课程设计论文(每学生1份) 长沙学院课程设计鉴定表(每学生1份) 指导教师签名:日期:2013-5-26 教研室主任签名:日期: 系主任签名:日期:
android:设置背景图片、背景颜色透明
android:设置背景图片、背景颜色透明 2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅 Button或者ImageButton的背景设为透明或者半透明 半透明 透明颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000 RGB 设置背景图片透明度: View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id v.getBackground().setAlpha(100);//0~255透明度值 设置背景颜色透明度: ImageView.setBackgroundColor(Color.TRANSPARENT);
android设置背景色为透明 方法一:只要在配置文件内activity属性配置内加上android:theme=@android:style/Theme.Translucent 就好了。这样就调用了android的透明样式! 方法二: 先在res/values下建colors.xml文件,写入:
Android 图片加载性能优化总结
Android 图片加载性能优化总结 一、Android Bitmap加载大尺寸图片优化: 压缩原因: 1.imageview大小如果是200*300那么加载个2000*3000的图片到内存中显然是浪费可耻滴行为; 2.最重要的是图片过大时直接加载原图会造成OOM异常(out of memory内存溢出) 所以一般对于大图我们需要进行下压缩处理 看不懂英文的话木有关系,本篇会有介绍 主要处理思路是: 1.获取图片的像素宽高(不加载图片至内存中,所以不会占用资源) 2.计算需要压缩的比例 3.按将图片用计算出的比例压缩,并加载至内存中使用 官网大图片加载教程(上面网址里的)对应代码就是: /** * 获取压缩后的图片 * @param res * @param resId * @param reqWidth 所需图片压缩尺寸最小宽度 * @param reqHeight 所需图片压缩尺寸最小高度 * @return */ public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) {
// 首先不加载图片,仅获取图片尺寸 final BitmapFactory.Options options = new BitmapFactory.Options(); // 当inJustDecodeBounds设为true时,不会加载图片仅获取图片尺寸信息 options.inJustDecodeBounds = true; // 此时仅会将图片信息会保存至options对象内,decode方法不会返回bitmap 对象 BitmapFactory.decodeResource(res, resId, options); // 计算压缩比例,如inSampleSize=4时,图片会压缩成原图的1/4 options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); // 当inJustDecodeBounds设为false时,BitmapFactory.decode...就会返回图片对象了 options.inJustDecodeBounds = false; // 利用计算的比例值获取压缩后的图片对象 return BitmapFactory.decodeResource(res, resId, options); } 代码详解: 核心方法是BitmapFactory.decode...(...., options) ...的意思是此外还有一系列的decodeFile/decodeStream等等方法,都是利用options灵活解析获取图片, 只不过解析图片的来源不同罢了,比如网络图片获取,一般就是解析字节流信息然后decode获取图片实例 Options是图片配置信息,参数详细介绍下: inJustDecodeBounds 是否只解析边界 设为true时去decode获取图片,只会加载像素宽高信息 设为false时decode则会完全加载图片 inSampleSize 压缩比例
Android UI开发专题
https://www.360docs.net/doc/1110314008.html,/cmdn/bbs/viewthread.php?tid=18736&page=1 #pid89255 Android UI开发专题(一) 之界面设计 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容:android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类 一、android.content.res.Resources 对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。 int getColor(int id) 对应res/values/colors.xml Drawable getDrawable(int id) 对应res/drawable/ XmlResourceParser getLayout(int id) 对应res/layout/ String getString(int id) 和CharSequence getText(int id) 对应res/values/strings.xml InputStream openRawResource(int id) 对应res/raw/ void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xml float getDimension(int id) res/values/dimens.xml 二、android.graphics.Bitmap 作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下: boolean compress(https://www.360docs.net/doc/1110314008.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素 void copyPixelsToBuffer(Buffer dst) 将当前位图像素内容复制到一个Buffer缓冲区 我们看到创建位图对象createBitmap包含了6种方法在目前的Android 2.1 SDK中,当然他们使用的是API Level均为1,所以说从Android 1.0 SDK开始就支持了,所以大家可以放心使用。
Android图片相框
10 public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){ 02 1. int width = bitmap.getWidth(); 2. 03 3. int height = bitmap.getHeight(); 4. 04 5. Matrix matrix = new Matrix(); 6. 05 7. float scaleWidht = ((float)w / width); 8. 06 9. float scaleHeight = ((float)h / height); 10. 07 11. matrix.postScale(scaleWidht, scaleHeight); 12. 08 13. Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true); 14. 09 15. return newbmp; 16. 17. } = (ImageSwitcher)findViewById(R.id.switcher01); mSwitcher.setFactory(this); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); g = (Gallery)findViewById(R.id.gallery01); //如果要从sdcard取图片需要改为new ImageAdapter(this,getSD());其中getSD()为自定义的方法 g.setAdapter(new ImageAdapter(this, getSD())); g.setOnItemSelectedListener(this); //为单击mSwitcher设置一个监听器 //显示Switcher里的模式 @Override
android UI界面设计
Android UI开发专题(一) 之界面设计 发帖日期:2010-02-09 10:49:28 标签:ophone 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容: android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类 一、android.content.res.Resources 对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。 int getColor(int id) 对应res/values/colors.xml Drawable getDrawable(int id) 对应res/drawable/ XmlResourceParser getLayout(int id) 对应res/layout/ String getString(int id) 和CharSequence getText(int id) 对应 res/values/strings.xml InputStream openRawResource(int id) 对应res/raw/ void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xml float getDimension(int id) res/values/dimens.xml 二、android.graphics.Bitmap 作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下: boolean compress(https://www.360docs.net/doc/1110314008.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素