要設計Android的畫面有兩種方式:
一種是仿間書本都會教的第一招,利用xml來寫畫面。
二種則是用java來寫,透過class繼承view這個類別來達成。
目標:
1.利用java來呈現android手機畫面、
2.滑鼠點擊螢幕拖動圖形。
先開一個新專案,Application name是會顯示在手機軟體列上的名稱,對一個軟體的辨識度有很大的影響,Package name是這個Project的資料夾結構,最內部就是放著.java檔,通常都習慣把網址倒過來寫,Create Activity是替你先創造一個Activity,一個Android軟體一定要有一個Activity(活動), 手機才能執行,這裡就先幫他取名,Mini SDK Version就看你上面勾選哪個版本就照用吧。
除了我自己上的註解外,這是剛開始最乾淨的Activity。我們就是要把 setContentView(R.layout.main);原本是抓取資源檔 layout內的main.xml改成我們自己寫的java class。
在專案上點右鍵,新增一個Class。
剛開始最乾淨的class
先讓他extends View,會有錯誤。
再利用ctrl+shift+O,讓系統自動幫你import。import之後還是會有錯誤,是因為View有規定你必須要擁有建構函式。
在錯誤紅線上停留,他就會提示你該要怎麼做。建構函式有了,錯誤就解決了。
繼承View的class架構好了,Activity就拿來用吧,利用setContentView(m_MyView_01)。
複寫onDraw,Canvas就如同畫布一般。
canvas.drawColor(顏色),顏色可以是色碼,或是android API設的常態變數。
Color.呼叫常態變數
以40為間隔劃出水平線。
呈現結果。
再畫垂直線。
畫圓。
將圓的座標直徑設為全域變數。
判斷手指是否有點到圓。
移動圓以及離開圓的動作function
Thread設置,這樣才可以一直刷新圓的位置。
設定優先權。
在Activity中複寫onTouchEvent,偵測MotionEvent。
android api的常態變數。
手指按下、移動、拿起的位置偵測,再丟給View的function處理。
之前發現圓不會動!!!原來是忘了設true!!!
結果測試的結果,不在圓上也可以移動圓!!!怪了!!!
原來是我在移動圓的判斷是這邊寫錯啦...找好久。m_bIsTouchDownCircle是boolean變數啦!
直接放if內就好了。
最後結果。
請問可以寄給我這份Source Code嗎
回覆刪除