androidtouch
A. android中 OnTouch和OnClick有何區別
1、onClick就傳入一個View對象,而
onTouch要傳入一個View
對象和
MotionEvent的對象
2、onTouch對控制項的操作比onCilck更豐富,比如判斷觸摸的狀態(比如按下,或者放開),和得到點擊的位置等等
3、當對一個控制項觸摸的時候touch
先調用,
onclick是
對
touch
的一個擴展實現
B. Android的onTouch()方法和onTouchEvent()方法有什麼區別
在一個Activity裡面放一個TextView的實例tv,並且這個tv的屬性設定為 fill_parent
在這種情況下,當手放到屏幕上的時候,首先會是tv響應touch事件,執行onTouch方法。
如果onTouch返回值為true,
表示這個touch事件被onTouch方法處理完畢,不會把touch事件再傳遞給Activity,
也就是說onTouchEvent方法不會被調用。
(當把手放到屏幕上後,onTouch方法被一遍一遍地被調用)
如果onTouch返回值為false,就表示對該點擊事件沒消費,傳遞給onTouchEvent
C. Android: 怎麼讓一個View響應touch的所有action,但是不消耗touch事件
在Touch事件中return false; 則表示事件繼續傳遞
如果return true; 事件則不再傳遞
D. 安卓支持3D Touch嗎安卓3D Touch功能詳解
iPhone
6S上最重要的一個功能要數3D
Touch了吧,其被稱作是多點觸控後,又一重大觸控方式。
雖說有安卓廠商已經推出了具備壓力屏的智能手機,但整體感覺跟iPhone
6S相比,還是稍遜一籌,不過現在好消息來了。
美國媒體報道稱,密歇根大學開發出一種超級暴力的軟體,其可以把蘋果上的3D
Touch帶到所有的智能手機上,其會在下個月開始測試。
對於蘋果來說,這絕對是悲慘的消息,之前他們曾強調,為了研發壓力屏花費了好幾年的時間,而現在一個小小的軟體就能破解這個技術,或許是他們沒有想到的。
實現3D
Touch的安卓會怎樣
先來看看視頻中的實際效果,當手指在屏幕上重壓時所顯示的物體被放大,松開手指物體則恢復成原樣,基本上與3D
Touch異曲同工。這就是開發者Marco
Chiappetta想到的方案,利用手機自帶的氣壓計來識別屏幕上所受到的壓力,這是從硬體層面上實現的。
據了解,視頻中使用的設備為索尼Xperia
Z3,是一款防水手機,氣壓計在其中用於檢測手機的氣密性。具體來說,在防水蓋蓋緊的情況下,當屏幕或機身感受到壓力時若氣壓計數值變化在10點以上,則手機密封程度處於正常狀態;若數值變化很小,則說明氣密性不佳。
Marco
Chiappetta已經將他的想法和源碼分享到了GitHub開源社區,對這套方案感興趣的其它開發者將能從中受到啟發,未來或許會出一些與「3D
Touch」有關的應用或游戲,但此舉是否會損壞氣壓計有待觀察。Android手機還可以這樣實現「3D
Touch」
好機智!
E. android中touch事件的傳遞機制是怎樣的
不多說,給你一個鏈接
http://www.cnblogs.com/virtual-young/p/4118890.html
F. android的ontouch方法如何判斷單擊還是雙擊
原生態android 是沒有真正意義上的雙擊事件 也沒有那個概念 。
1、雙擊就是兩次單機,當點擊事件出發時按下的時候出發一次onTouch 事件,抬起的時候,也觸發一個onTouch 事件。
2、如果想做雙擊的話 只能自己進行判斷了,用兩次onTouch 抬起時的時間間隔來定位他是否是雙擊。
3、 第一點擊 抬起後記錄下當前的時候 curreenttime temp0然後保存下來,第二次點擊抬起的時候在記錄下currenttimeemp1,用temp1-temp0 在你指定的時間呢就算是雙擊。用一個標記 錯判斷如果是雙擊了就flag = true 連續的地三四次就不進行處理了,當請求處理完畢後 在吧flag =false。
G. Android中的Touch事件處理如何去掉這種警告
用註解吧 打個@SuppressLint("ClickableViewAccessibility")
這個警告是說,有可能會和點擊事件發生沖突
如果你在touch中返回了true,那麼就不會響應onClick事件了
你必須調用一下view.performClick(),才會觸發
view.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
});
H. android ontouch事件return true和return false的區別
1,return false說明你還沒消費onTouch事件,在執行完你onTouch裡面的代碼之後,onTouch事件並沒有結束。就是會自動地執行Gallery這個view里onTouch代碼(這個為默認).所以這就是為什麼沒增加你的處理的時候就只自動地調用Gallery的onTouch,若你在onTouch裡面增加你的代碼並且return false就會執行你的處理和默認的處理。
2,return true說明你已經消費完了onTouch事件,在執行完你的onTouch裡面的代碼之後,這個onTouch事件就結束了。也就是說不會再調用默認的onTouch事件了。在onTouch裡面有很多種的處理比如move,down,up....,若你在move裡面return false,那麼接著的fling,up等後面的事件也不會處理的。
I. android 判斷touch事件是長按還是短按
分別實現listener並 為按鍵set 相應的listener. 長按是onLongClickListener 短按是onClickListener 放開好像沒有這個介面,那就只能用onTouch了, event.getAction() == MotionEvent.ACTION_UP 就是放手了