編輯:關於Android編程
網上查了不少Gallery停止監聽位置的方法,都是通過起線程然後睡眠來判斷,我覺得這樣沒必要開線程,耗費資源,同意的舉手。
偶然看圖庫源碼的時候看見一段代碼,packages\apps\Gallery\src\com\android\camera\ViewImage.java
1
<strong>private void scheduleDismissOnScreenControls() {
2
mHandler.removeCallbacks(mDismissOnScreenControlRunner);
3
mHandler.postDelayed(mDismissOnScreenControlRunner,2000);//延遲
4
5
}</strong>
再結合gallery的OnItemSelectedListener,就可以在滑動停止後執行一些操作:
01
class MyOnSelectLinstener implements OnItemSelectedListener {
02
@Override
03
public void onItemSelected(AdapterView<?> parent, View view,int position, long id) {
04
scheduleDismissOnScreenControls();
05
}
06
public void onNothingSelected(AdapterView<?> parent) {
07
}
08
09
}
10
private void scheduleDismissOnScreenControls() {
11
mHandler.removeCallbacks(mDismissOnScreenControlRunner);
12
mHandler.postDelayed(mDismissOnScreenControlRunner, 2000);
13
}
在Runnable中執行操作,當Gallery滑動換頁的時候,mHandler先把Runnable從列隊中刪除,其中的操作因此不會執行,然後在列隊中添加延遲的Runnable,如果在延遲的時間內沒有再次翻頁就執行Runnable中的操作,這裡可以在gallery中進行判斷,拖動的時候可以不執行Runnable中的方法,具體就不說了。
這樣就可以起到滑動停止監聽的作用。
效果圖源碼KqwOpenCVBlurDemo暗區擴張,也叫腐蝕,要實現這樣的效果,我們可以選取一個合適大小的核,用被核覆蓋的最小值代替錨點像素。我們首先定義一個合適大小的
大概在2015年10月底,QQ空間發了一篇叫《安卓App熱補丁動態修復技術介紹》的文章,文章中提到為了能讓Class進行熱修復,其中一個條件就是防止類被打上CLASS_I
當我們需要執行一些耗時操作,比如說發起一條網絡請求時,考慮到網速等其他原因,服務器未必會立刻響應我們的請求,如果不將這類操作放在子線程裡去運行,就會導致主線程被阻塞住,從
對於Android的學習,需要掌握的東西有點多,需要我們認真,小心,不斷的進取。前天突然有個想法,覺得Mp3播放器是一個可以練習的項目,於是在網上搜了下,發現有人已經寫了