رفتن به مطلب
  • 0

فیکس کردن مکان اسکرول وب ویو


mohammad_2015

سوال

درود

همونطور که تا حدودی از عنوان مشخص هست مشکل فیکس یا ثابت نگهداشتن اسکرول عمودی وب ویو دارم

البته من نمیخوام با وب ویو لینک باز کنم و قرار هست فقط متن نمایش بدم  (به دلایلی)

یه چک باکس گذاشتم و میخوام اگر تیک خورده بعد ار هربار بارگذاری اسکرول به آخر بره. اما اگر تیک نخورده اسکرول همونجا بمونه (فیکس بشه جایی که دستی اسکرول کردم)

به کمک کتابخونه های Webviewextras و WebviewXtender تونستم دستور رفتن به آخر اسکرول و همچنین مختصات اسکرول عمودی رو بدست بیارم. 

اما در قسمت PageFinished وقتی دستور اسکرول به مختصات رو میدم غمل نمیکنه و میاد بالا

جالب اینجاست همون دستور رو داخل یه دکمه گذاشتم عمل کرد :|

هم کدها رو میذارم و هم سورس + کتابخونه ها

اگر کسی میتونه ممنون میشم کمک کنه

ضمن اینکه حتما میخوام تو قسمت PageFinished عمل بکنه

Sub Globals
	
	Private Button1 As Button
	Private WebView1 As WebView
	Dim WebX As WebViewExtras
	Dim WebX2 As WebViewXtender
	Dim count As Int=0
	Dim html As String
	Private AutoScroll As CheckBox
	Dim GetY As Int=0
	Private Button2 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	WebX.addJavascriptInterface(WebView1, "B4A")
	
End Sub


Sub Button1_Click
	count=count+1
	html=html&"<div>count "&count&"</div>"&CRLF
	GetY=WebX2.getScrollY(WebView1)
	WebView1.LoadHtml(html)
End Sub

Private Sub Webview1_PageFinished (Url As String)
		
    If AutoScroll.Checked=True Then
		Dim Javascript As String
		Javascript="B4A.CallSub('ProcessHTML', false, window.scrollTo(0,document.body.scrollHeight))"
		WebX.executeJavascript(WebView1, Javascript)
	Else
	
	WebX2.scrollTo(WebView1,0,GetY)
	End If
	
End Sub

Sub Button2_Click
	WebX2.scrollTo(WebView1,0,GetY)
End Sub

http://s17.picofile.com/file/8411847492/WebScroll.zip.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 40 دقیقه قبل، mohammad_2015 گفته است :

درود

همونطور که تا حدودی از عنوان مشخص هست مشکل فیکس یا ثابت نگهداشتن اسکرول عمودی وب ویو دارم

البته من نمیخوام با وب ویو لینک باز کنم و قرار هست فقط متن نمایش بدم  (به دلایلی)

یه چک باکس گذاشتم و میخوام اگر تیک خورده بعد ار هربار بارگذاری اسکرول به آخر بره. اما اگر تیک نخورده اسکرول همونجا بمونه (فیکس بشه جایی که دستی اسکرول کردم)

به کمک کتابخونه های Webviewextras و WebviewXtender تونستم دستور رفتن به آخر اسکرول و همچنین مختصات اسکرول عمودی رو بدست بیارم. 

اما در قسمت PageFinished وقتی دستور اسکرول به مختصات رو میدم غمل نمیکنه و میاد بالا

جالب اینجاست همون دستور رو داخل یه دکمه گذاشتم عمل کرد :|

هم کدها رو میذارم و هم سورس + کتابخونه ها

اگر کسی میتونه ممنون میشم کمک کنه

ضمن اینکه حتما میخوام تو قسمت PageFinished عمل بکنهl

تو متد Webview1_PageFinished قبل از هر کدی چندمیلی ثانیه وقفه ایجاد کنید بعد کد ها رو بزارید. در واقع به شکل زیر بنویسید.


Private Sub Webview1_PageFinished (Url As String)
	Sleep(100)
    If AutoScroll.Checked=True Then
		Dim Javascript As String
		Javascript="B4A.CallSub('ProcessHTML', false, window.scrollTo(0,document.body.scrollHeight))"
		WebX.executeJavascript(WebView1, Javascript)
    Else
      	WebX2.scrollTo(WebView1,0,GetY)
	End If
End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...