Android UI开发专题之界面设计

  Android.content.res 资源类

  android.graphics 底层图形类

  android.view 显示类

  android.widget 控件类

  一、android.content.res.Resources

  对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Containsclasses for accessing application resources, such as raw asset files, colors,drawables, media or other other files in the package, plus important deviceconfiguration details (orientation, input types, etc.) that affect how theapplication may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。

相关阅读:

Android UI开发专题之绘图基础
Android UI开发专题之各种Drawable

  int getColor(int id) 对应res/values/colors.xml

  Drawable getDrawable(int id) 对应res/drawable/

  XmlResourceParser getLayout(intid) 对应res/layout/

  String getString(int id) 和CharSequencegetText(int id) 对应res/values/strings.xml

  InputStreamopenRawResource(int id) 对应res/raw/

  void parseBundleExtra (StringtagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/

  String[] getStringArray(intid) res/values/arrays.xml

  float getDimension(int id)res/values/dimens.xml

  二、android.graphics.Bitmap

  作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下:

  booleancompress(Bitmap.CompressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG

  voidcopyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素

  void copyPixelsToBuffer(Bufferdst) 将当前位图像素内容复制到一个Buffer缓冲区

  我们看到创建位图对象createBitmap包含了6种方法在目前的Android2.1 SDK中,当然他们使用的是APILevel均为1,所以说从Android1.0 SDK开始就支持了,所以大家可以放心使用。

  static BitmapcreateBitmap(Bitmap src)

  static BitmapcreateBitmap(int[] colors, int width, int height, Bitmap.Config config)

  static BitmapcreateBitmap(int[] colors, int offset, int stride, int width, int height,Bitmap.Config config)

  static BitmapcreateBitmap(Bitmap source, int x, int y, int width, int height, Matrix m,boolean filter)

  static Bitmap createBitmap(intwidth, int height, Bitmap.Config config)

  static BitmapcreateBitmap(Bitmap source, int x, int y, int width, int height)

  static BitmapcreateScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter) //创建一个可以缩放的位图对象

  final int getHeight() 获取高度

  final int getWidth() 获取宽度

  final boolean hasAlpha() 是否有透明通道

  void setPixel(int x, int y,int color) 设置某像素的颜色

  int getPixel(int x, int y) 获取某像素的颜色,android开发网提示这里返回的int型是color的定义

  三、android.graphics.BitmapFactory

  作为Bitmap对象的I/O类,BitmapFactory类提供了丰富的构造Bitmap对象的方法,比如从一个字节数组、文件系统、资源ID、以及输入流中来创建一个Bitmap对象,下面本类的全部成员,除了decodeFileDescriptor外其他的重载方法都很常用。

  static BitmapdecodeByteArray(byte[] data, int offset, int length) //从字节数组创建

  static BitmapdecodeByteArray(byte[] data, int offset, int length, BitmapFactory.Optionsopts)

  static BitmapdecodeFile(String pathName, BitmapFactory.Options opts) //从文件创建,路径要写全

  static BitmapdecodeFile(String pathName)

  static BitmapdecodeFileDescriptor(FileDescriptor fd, Rect outPadding, BitmapFactory.Optionsopts) //从输入流句柄创建

  static BitmapdecodeFileDescriptor(FileDescriptor fd)

  static BitmapdecodeResource(Resources res, int id) //从Android的APK文件资源中创建,android123提示是从/res/的drawable中

  static BitmapdecodeResource(Resources res, int id, BitmapFactory.Options opts)

  static BitmapdecodeResourceStream(Resources res, TypedValue value, InputStream is, Rect pad,BitmapFactory.Options opts)

  static BitmapdecodeStream(InputStream is) //从一个输入流中创建

  static BitmapdecodeStream(InputStream is, Rect outPadding, BitmapFactory.Options opts)

  四、android.graphics.Canvas

  从J2ME MIDLET时我们就知道Java提供了Canvas类,而目前在Android平台中,它主要任务为管理绘制过程,TheCanvas class holds the "draw" calls. To draw something, you need 4basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls(writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap),and a paint (to describe the colors and styles for the drawing).

  该类主要提供了三种构造方法,分别为构造一个空的Canvas、从Bitmap中构造和从GL对象中创建,如下

  Canvas()

  Canvas(Bitmap bitmap)

  Canvas(GL gl)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwdzwz.html