Android中自定義ScrollView代碼實(shí)例
Android中的ScrollView其實(shí)是很簡(jiǎn)陋的,竟然沒(méi)有和ListView一樣的可以設(shè)置一個(gè)OnScrollListener,不過(guò)沒(méi)有關(guān)系,我們可以繼承自ScrollView來(lái)自定義一個(gè)。廢話(huà)不多說(shuō),直接上代碼:
public class ObservableScrollView extends ScrollView {
public ObservableScrollView(Context context) {
super(context);
}
public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ObservableScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public interface OnScrollChangedListener {
public void onScrollChanged(int x, int y, int oldX, int oldY);
}
private OnScrollChangedListener onScrollChangedListener;
public void setOnScrollListener(OnScrollChangedListener onScrollChangedListener) {
this.onScrollChangedListener = onScrollChangedListener;
}
@Override
protected void onScrollChanged(int x, int y, int oldX, int oldY) {
super.onScrollChanged(x, y, oldX, oldY);
if (onScrollChangedListener != null) {
onScrollChangedListener.onScrollChanged(x, y, oldX, oldY);
}
}
}
上述代碼很簡(jiǎn)單,相信大家都能看得懂,使用的時(shí)候只需要調(diào)用setOnScrollListener方法就可以了,這里面有四個(gè)參數(shù),最常用的比如你想判斷ScrollView的滑動(dòng)方向,那么只需要判斷 y > oldY即為向下滑動(dòng),反之向上滑動(dòng)。除此之外,還可以做點(diǎn)其他有意思的事,比如判斷ScrollView滑動(dòng)到某個(gè)特定位置然后做些動(dòng)畫(huà)之類(lèi)的,更加有創(chuàng)意的就靠大家自己去思考了。
- Android中Toolbar隨著ScrollView滑動(dòng)透明度漸變效果實(shí)現(xiàn)
- Android ScrollView滑動(dòng)實(shí)現(xiàn)仿QQ空間標(biāo)題欄漸變
- android 實(shí)現(xiàn)ScrollView自動(dòng)滾動(dòng)的實(shí)例代碼
- android 自定義ScrollView實(shí)現(xiàn)背景圖片伸縮的實(shí)現(xiàn)代碼及思路
- Android控件之ScrollView用法實(shí)例分析
- Android中ScrollView實(shí)現(xiàn)滑動(dòng)距離監(jiān)聽(tīng)器的方法
- android輸入框與文本框加滾動(dòng)條scrollview示例
- Android中ScrollView 滑到頭部或尾部可伸縮放大效果
- Android開(kāi)發(fā)基于ScrollView實(shí)現(xiàn)的漸變導(dǎo)航欄效果示例
相關(guān)文章
React Native開(kāi)發(fā)中自動(dòng)打包腳本的實(shí)例代碼
這篇文章主要介紹了React Native開(kāi)發(fā)中自動(dòng)打包腳本的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
Android中利用viewflipper動(dòng)畫(huà)切換屏幕效果
這篇文章主要介紹了Android中利用viewflipper動(dòng)畫(huà)切換屏幕效果的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
Android調(diào)用手機(jī)攝像頭拍照和錄音功能
這篇文章主要為大家詳細(xì)介紹了Android調(diào)用手機(jī)攝像頭拍照和錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
Android編程實(shí)現(xiàn)兩個(gè)Activity之間共享數(shù)據(jù)及互相訪(fǎng)問(wèn)的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)兩個(gè)Activity之間共享數(shù)據(jù)及互相訪(fǎng)問(wèn)的方法,簡(jiǎn)單分析了Android中Activity數(shù)據(jù)共享與訪(fǎng)問(wèn)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
android 獲取文件的擴(kuò)展名和去掉文件擴(kuò)展名的小例子
android 獲取文件的擴(kuò)展名和去掉文件擴(kuò)展名的小例子,需要的朋友可以參考一下2013-06-06
詳解Android應(yīng)用中DialogFragment的基本用法
Android App中建議使用DialogFragment作為對(duì)話(huà)框的容器,DialogFragment類(lèi)提供了創(chuàng)建對(duì)話(huà)框并管理其外觀(guān)需要的所有控件,本文主要內(nèi)容便為詳解Android應(yīng)用中DialogFragment的基本用法,而不再需要調(diào)用Dialog的方法需要的朋友可以參考下2016-05-05
Android 將 android view 的位置設(shè)為右下角的解決方法
Android 將 android view 的位置設(shè)為右下角的解決方法,需要的朋友可以參考一下2013-05-05
android USB如何修改VID具體實(shí)現(xiàn)
在android 設(shè)備的Linux 內(nèi)核中把 USB 驅(qū)動(dòng)的 PID VID 修改以后,也許之前的adb工具就不能識(shí)別設(shè)備了,會(huì)打印出"device not found"的提示2013-06-06
Android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
Android字符串資源文件format方法使用實(shí)例
本文介紹了Android的資源文件values/strings.xml中如何實(shí)現(xiàn)格式化字符串,這里舉個(gè)簡(jiǎn)單的例子供大家參考2013-11-11

