بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
اسکرول کردن scrollview
سلام
یه اسکرول داریم که وقتی تکونش میدیم میخوایم ببینیم به انتها رسیده یا نه ؟
چطور میشه متوجه شد ؟
ممنون
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
کاشی زاده
11 سال پیش
+3
0
کلاس زیر رو میسازید :
public class ScrollViewExt extends ScrollView {
private ScrollViewListener scrollViewListener = null;
public ScrollViewExt(Context context) {
super(context);
}
public ScrollViewExt(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public ScrollViewExt(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setScrollViewListener(ScrollViewListener scrollViewListener) {
this.scrollViewListener = scrollViewListener;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (scrollViewListener != null) {
scrollViewListener.onScrollChanged(this, l, t, oldl, oldt);
}
}
}
یک اینترفیس هم به عنوان لیسنر میسازید :
public interface ScrollViewListener {
void onScrollChanged(ScrollViewExt scrollView,
int x, int y, int oldx, int oldy);
}
زمانی که لیسنر صدا شد این محاسبات رو انجام میدید :
public void onScrollChanged(ScrollViewExt scrollView, int x, int y, int oldx, int oldy) {
View view = (View) scrollView.getChildAt(scrollView.getChildCount() - 1);
int diff = (view.getBottom() - (scrollView.getHeight() + scrollView.getScrollY()));
if (diff == 0) {
پایان اسکرول ویو شما
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .