編輯:關於Android編程
surfaceview:可以使用一個線程來繪圖,程序不會因為繪圖而失去響應
1.自定義一個surfaceview:
class
MySurfaceView extends
SurfaceView implements
SurfaceHolder.Callback
2.實現SurfaceHolder.Callback接口的3個回調方法,在surfaceCreated中啟動繪制線程:
@Override
public
void
surfaceChanged(SurfaceHolder holder, int
format, int
width,
int
height) {
//
TODO Auto-generated method stub
}
@Override
public
void
surfaceCreated(SurfaceHolder holder) {
//
啟動自定義線程
new
Thread(new
MyThread()).start();
}
@Override
public
void
surfaceDestroyed(SurfaceHolder holder) {
//
TODO Auto-generated method stub
}
3.注冊callback:
public
MySurfaceView(Context context) {
super(context);
BackgroundImage =
BitmapFactory.decodeResource(getResources(),
R.drawable.bg);
QuestionImage =
BitmapFactory.decodeResource(getResources(),
R.drawable.question);
Holder =
this.getHolder();//
獲取holder
Holder.addCallback(this);
}
4.在繪制線程中繪畫:
canvas
=
Holder.lockCanvas();//
獲取畫布
.
.
.
.//繪畫,如canvas.drawBitmap等
Holder.unlockCanvasAndPost(canvas);//
解鎖畫布,提交畫好的圖像
能夠使頭部懸停的listview在項目中是經常用到的,例如qq的好友列表或者地區選擇。先不多說,看效果圖:(懶得上gif圖了)這裡借鑒了別人的核心代碼,我做了一些分析。主
SQLite是Android系統內置的數據庫,是一種輕量級的關系型數據庫,它運算速度快,占用資源少,非常適合在移動設備上使用。同時,它不僅支持標准的SQL語法,還遵循了
Logger框架使用 Logger框架是一個優雅的日志系統,通過Logger可以很漂亮的打印出Android系統日志。下面從用法開始逐層介紹。在Gradle 依賴中添加,
1、概述Drawable在我們平時的開發中,基本都會用到,而且給大家非常的有用。那麼什麼是Drawable呢?能夠在canvas上繪制的一個玩意,而且相比於View,並不