بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نمایش یک دکمه در پایان صفحه در وب ویو
سلام
در برنامه یک صفحه اچ تی ام ال درست کردم و میخوام در پایانش ( یعنی جایی که اسکرول کردن صفحه اچ تی ام ال تمام شد) یک دکمه بزارم ؟
اچ تی ام ال رو با وب ویو نمایش میدم روی یک لینر لی اوت ولی هر جور سعی کردم نشد . از دوستان اگه کسی بتونه راهنمایی کنه ممنونش میشم.
0
0
میگم کاشکی اگه جواب سوالی رو هم بلد نبودید یک پیشنهاد هم بدید با کمال میل منتظر پیشنهاداتون برای حل مشکل هستم. (10 سال پیش)
0
0
چرا اون دکمه رو تو فایل html ت نمیذاری؟ استفاده اون دکمه چیه؟ رفتن به بالا؟ (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
محسن علیزاده
10 سال پیش
+1
0
یک کلاس جدید به نام ObservableWebView ایجاد کنید و کد زیر رو در اون بگنجانید:
public class ObservableWebView extends WebView
{
private OnScrollChangedCallback mOnScrollChangedCallback;
public ObservableWebView(final Context context)
{
super(context);
}
public ObservableWebView(final Context context, final AttributeSet attrs)
{
super(context, attrs);
}
public ObservableWebView(final Context context, final AttributeSet attrs, final int defStyle)
{
super(context, attrs, defStyle);
}
@Override
protected void onScrollChanged(final int l, final int t, final int oldl, final int oldt)
{
super.onScrollChanged(l, t, oldl, oldt);
if(mOnScrollChangedCallback != null) mOnScrollChangedCallback.onScroll(l, t);
}
public OnScrollChangedCallback getOnScrollChangedCallback()
{
return mOnScrollChangedCallback;
}
public void setOnScrollChangedCallback(final OnScrollChangedCallback onScrollChangedCallback)
{
mOnScrollChangedCallback = onScrollChangedCallback;
}
/**
* Impliment in the activity/fragment/view that you want to listen to the webview
*/
public static interface OnScrollChangedCallback
{
public void onScroll(int l, int t);
}
}
در اکتیویتی مورد نظر:
webView = (ObservableWebView) findViewById(R.id.scorllableWebview);
webView.setOnScrollChangedCallback(new OnScrollChangedCallback() {
@Override
public void onScroll(int l, int t) {
int tek = (int) Math.floor(webView.getContentHeight() * webView.getScale());
if(tek - webView.getScrollY() == webView.getHeight())
Toast.makeText(getActivity(), "End", Toast.LENGTH_SHORT).show();
}
});
در لی اوت بجای webview:
<com.YourPackageName.ObservableWebView
android:id="@+id/scorllableWebview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" />
موفق باشی
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .