編輯:關於Android編程
我們知道,一般實現雙擊事件,可以通過new OnClickListener()監聽點擊事件,然後記錄前後兩次點擊距離開機的時間,由時間差在一定范圍實現,代碼如下:
long firstClickTime = 0; @Override public void onClick(View view) { if(firstClickTime > 0){ long secondClickTime = SystemClock.uptimeMillis();//距離上次開機時間 long dtime = secondClickTime - firstClickTime; if(dtime > 500){ Toast.makeText(getApplicationContext(), "實現雙擊事件監聽", 0).show(); } else{ firstClickTime = 0; } return ; } firstClickTime = SystemClock.uptimeMillis(); }
看完上面實現,思路很簡單,但是當要實現多次點擊時,那上面的可能就代碼量很大了,這裡寫下GoogleAPI提供的方法
//數組存儲點擊次數 long[] mHits = new long[2]; @Override public void onClick(View v) { //實現雙擊方法 //src 拷貝的源數組 //srcPos 從源數組的那個位置開始拷貝. //dst 目標數組 //dstPos 從目標數組的那個位子開始寫數據 //length 拷貝的元素的個數 System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1); //實現左移,然後最後一個位置更新距離開機的時間,如果最後一個時間和最開始時間小於500,即雙擊 mHits[mHits.length - 1] = SystemClock.uptimeMillis(); if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) { // 雙擊居中了。。。屏幕的一半和歸屬地的一半,更新窗口,保存lastX params.x = wm.getDefaultDisplay().getWidth()/2-view.getWidth()/2; wm.updateViewLayout(view, params); Editor editor = sp.edit(); editor.putInt("lastx", params.x); editor.commit(); } }
最近項目要求上傳多圖並且多圖顯示,而且要規則的顯示,就像微信朋友圈的圖片顯示一樣。利用GridView再適合不過了,GridView可以動態加載圖片的數量,而且還比較規律
知識點目錄 5.1 滑動效果是如何產生的 5.1.1 Android坐標系 5.1.2 視圖坐標系 5.1.3 觸控事件——MotionEvent
啟動模式:LaunchMode在多個Activity跳轉的過程中扮演著重要的角色,它可以決定是否生成新的Activity實例,是否重用已存在的Activity實例,是否和
1. 錯誤提示信息 錯誤大概意思:連接到adb(android debug bridge)出現了一個嚴重的錯誤,你必須重啟adb和Eclipse工具,請確保在位置…