2.Android模塊分析
2.1系統框架
2.2Android APP啓動流程 AndroidManifest.xml
2.3網絡交互
2.4開發中的知識點
1.啓動時使用引導頁使用漸變效果:
protected void onDraw(Canvas canvas) {
// Log.d("ly", "onDraw");
// 清屏
canvas.drawColor(Color.WHITE);
// 創建畫筆對象
Paint p = new Paint();
// 設置畫筆對象的透明度爲當前透明度取值
p.setAlpha(alpha);
// 在視圖上利用畫筆繪製Logo圖像
Rect src = new Rect(0, 0, logo.getWidth(), logo.getHeight());
WindowManager wm = (WindowManager) getContext()
.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
Rect dst = new Rect(0, 0, width, height);
canvas.drawBitmap(logo, src, dst, p);
}
public void repaint(int alpha) {
this.alpha = alpha;
// 拋出重繪事件
invalidate();
}
外部啓動線程每隔100ms調用repaint函數,即可實現漸變效果。
2.TabActivity與事件分發
public boolean dispatchKeyEvent(KeyEvent event) {
Log.d("ly", "TabHostAty dispatchKeyEvent " + event.getKeyCode());
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// do something
if (System.currentTimeMillis() - mFirstTime > 2000) {
Toast.makeText(this, "再次點擊退出程序", Toast.LENGTH_SHORT).show();
mFirstTime = System.currentTimeMillis();
return true;
}
}
return super.dispatchKeyEvent(event);
}
由於TabActivity沒有焦點,焦點在子Activity中,因此onKeyDown和onBackPressed只有在子Activity中才會響應,這裏使用dispatchKeyEvent攔截分發事件處理。
代碼地址 https://github.com/wWX152939/lvyou
旅遊類APP-環境搭建 http://blog.csdn.net/qq4551091/article/details/74356878