1. 理解
手机上显示的任何界面, 无论是文字,按钮或图片, 都是系统内置的一些API绘制的Graphics(图形,图像) drawable
2. 相关API
Bitmap: 位图,图片在内存中数据对象 .bmp .jpg .png
3. 使用
1). <shape>的使用: 定义图形图片
手机上显示的任何界面, 无论是文字,按钮或图片, 都是系统内置的一些API绘制的Graphics(图形,图像) drawable
2. 相关API
Bitmap: 位图,图片在内存中数据对象 .bmp .jpg .png
compress(Format format, int quality, OutputStream os )Drawable:就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable)我们根据画图的需求,创建相应的可画对象ShapeDrawableBitmapDrawableColorDrawableCanvas: 画布,绘图的目标区域,用于绘图drawColor(Color color)drawText(String text, float x, float Y, paint)shapeDrawable.draw(canvas)
在onDraw(Canvas canvas)中绘制图形
Paint:我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工具的字体、颜色、样式。Paint p = new Paint();p.setColor(color);p.setTextSize(size);p.setScaleType(); //设置字体p.setAntialians(true)//平滑效果Matrix:矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作(针对图片本身, 而不是view)
Matrix m = new Matrix()
m.postScale(x, y)
m.postTranslate(10, 10)
m.postRotate(angle)
PopupWindow
PopupWindow(View contentView, int width, int height)
构造方法, 指定包含的视图,宽度和高度showAsDropDown(View anchor, int xoff, int yoff)显示在指定视图的下面,指定视图,x轴和y轴上的偏移值setBackgroundDrawable(Drawable background)设置背景图片, 必须设置,不然动画没作用boolean isShowing()判断是否正在显示show()显示dismiss()移除
1). <shape>的使用: 定义图形图片
2). <selector>, 定义多状态图片
1. 定义文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--按下时显示图片 先写--><item android:drawable="@drawable/main_index_search_pressed" android:state_pressed="true"></item>
<!--正常情况下显示的图片 --><item android:drawable="@drawable/main_index_search_normal"></item>
</selector>2. 引入backgroud="@drawable/xxx_selector"
一般<selector>与<shape>综合使用