功能描述:手指在自定義的 view上滑動時,如果滑動距離超過指定距離,或者滑動速度超過指定的速度時,開始滑動。新增了滑到到頂部和底部的滑動監聽。
**如下:
package view;
/** * @description 仿美麗說底部拖拽效果
* @author rzq
* @date 2023年9月17日
*/public class draglayout extends relativelayout
public draglayout(context context, attributeset attrs)
@override
protected void onfinishinflate()
@override
protected void onlayout(boolean changed, int l, int t, int r, int b)
@override
public boolean ontouchevent(motionevent event)
else
break;
case motionevent.action_move:
if (isdeal)
}break;
case motionevent.action_up:
case motionevent.action_cancel:
int velocityy = getscrollyvelocity();
if (isdeal)
else
}else
else}}
isdeal = false;
recyclevelocitytracker();
break;
} return true;
} private void scrolltotop()
});} topanimation.start();
} private void scrolltobottom()
});} bottomanimation.start();
} /**
* 判斷按下的點是否在指定區域內,不在區域內不做處理
*/private boolean isinrect(float downx, float downy)
}return false;
} /**
* 新增使用者的速度***
*/private void addvelocitytracker(motionevent event)
velocitytracker.addmovement(event);
} /**
* 移除使用者速度***
*/private void recyclevelocitytracker() }
/**
* 獲取y方向的滑動速度
*/private int getscrollyvelocity()
public void setmtoplistener(scrolltoplistener mtoplistener)
public void setmbottomlistener(scrollbottomlistener mbottomlistener)
/*** @description 滑動到底部事件監聽
* @author rzq
* @date 2023年9月17日
*/public inte***ce scrollbottomlistener
/*** @description 滑動到頂部事件監聽
* @author rzq
* @date 2023年9月17日
*/public inte***ce scrolltoplistener
}
總結:可以繼承自任意乙個layout去重寫,個人比較喜歡用relativelayout,主要重寫其 ontouchevent修改其子view的偏移量即可。 android 仿花椒送花效果
今天寫乙個單個的,明天寫乙個很多那種花向上運動的效果,單個的很簡單,就是繪製乙個二階或者三階貝塞爾曲線,然後不斷的去改變這個離曲線起點位置的值,就可以求出座標,這個都是api給我們提供好了的,我們只負責調就行,如果對path不熟悉的話,要先去看下path是怎麼回事,path是在繪製界是很重要的乙個類...
Android仿芝麻信用分
1.先準備好 2.新建乙個creditscoreview類,繼承view public class creditscoreview extends view 各維度圖示 private int icons 各維度分值 private float data 資料最大值 private float ma...
《愛上Android》作者說!
welcome to markeditor 心理專家研究過人心理週期的變化,結論證實大部分人連續 專注的幹一件事的時間很難超過18個月。當你能堅持一件事做18個月的時候證明你至少戰勝了百分之九十的人。很慶幸的是,我成為了剩餘百分之十的人,堅持了兩年去完成這一本書。在此期間,我的角色也公升級成了一位父...