Android觸控事件小小畫板(7)

2021-09-02 10:21:10 字數 1824 閱讀 3413

補下上節課的章節,鍵盤事件,onkeylistener例項實現乙個輸入框判斷是否是email位址,是的話換為對勾:

public class mainactivity extends activity 

private class keychange implements onkeylistener

else

case keyevent.action_down:

default: break;

}return false;

} } @override

public boolean oncreateoptionsmenu(menu menu)

}

這裡要準備兩張圖,對圖和錯圖,預設錯圖   實現效果為:

其中ontouch事件是在view中定義的,所以想要實現繪圖,自己要定義乙個繪圖元件,這個元件一定要繼承view類,同時覆蓋重寫view中的ondraw方法。

android畫圖最基本的三個物件(color,paint,canvas)

三個類都存放在 android.graphics包下

color :顏色物件,相當於現實生活中的 『調料』

paint : 畫筆物件,相當於現實生活中畫圖用的 『筆』————主要的還是對『畫筆』進行設定

canvas : 畫布物件,相當於現實生活中畫圖用的 『紙 或 布』

public class paintview extends view

private class touch implements ontouchlistener

else if(e.getaction()==e.action_up)

else if(e.getaction()==e.action_move)

return true;

} } protected void ondraw(canvas canvas)

else

last=(point)iter.next(); //不停下指

canvas.drawline(first.x, first.y, last.x, last.y,p); }}

} }}

然後在配置檔案配置你的元件

這裡我們突兀發現了乙個新名詞:iterator 迭代器,為什麼要使用迭代器?

那我們來看看不用迭代器的後果

迭代模式是訪問集合類的通用方法,只要集合類實現了iterator介面,就可以用迭代的方式來訪問集合類內部的資料,iterator訪問方式把對不同集合類的訪問邏輯抽象出來,使得不用暴露集合內部的結構而達到迴圈遍歷集合的效果。 

例如,如果沒有使用iterator,遍歷乙個陣列的方法是使用索引: 

ruby** 

for(int i=0; i

還有point:

這個類從字面意思就可以看出它跟點有關係,是點的乙個物件類。 

這個類有兩個屬性,分別是:x座標和y座標。 

建構函式有三個:point(),point(int x,int y),point(point p) 

我們來看下執行效果:

android觸控語音事件

android中的各種事件是由各種不同的 來完成,比如按鍵事件是由onclicklistener實現監聽,觸控是由ontouchlistener實現監聽的。首先設定監聽,然後傳入要監聽的事件 public class touch913mainactivity extends activity tv....

關於android 的觸控事件

android 觸控motionevent 事件 motionevent 事件物件 一般情況下是在view 的ontouchevent 方法中處理motionevent 事件物件的 1 首先需要獲事件的型別 可以通過getaction android2.2之後加入多點觸控支援後 使用getactio...

Android觸控事件部分細節

今天,用到了乙個可在水平方向滑動listview的item的控制項,是github上的開源控制項,但是用起來總感覺不太好用,水平滑時有時滑不動,因為listview本身是有上下滑動功能的,當我們的手在滑動的時候,水平滑動的同時也有垂直滑動,如果垂直滑動的距離大於水平滑動的距離,則listview會把...