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

تغییر لودینگ وب ویو


mobah

سوال

عرض ادب

 

من یک وب ویو دارم که دستور پروگراس براش قرار دادم و موقع لود میزنه لطفا منتظر باشید و بعد مخفی میشه ProgressDialogHide     

 میشه  کلا شکلش رو عوض کرد یعنی یک مدل دیگه  لودینگ وب ویو  را نمایش بده.

یا لودینگ را بصورت خط افقی نمایش بده

مثلا  : توسایت ها یک پروگراس افقی بالای سایت نمایش میده تا سایت لود بشه !

 

 

ممنون میشم اگر راهنمایی کنید

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

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

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

سلام علیکم.

webview رویدادی به نام onProgressChanged داره که مقدار بارگذاری شده رو نشون بده، اما آقای ارل این قابلیت رو به وب ویو بیسیک ندادن.

اما شما میتونید با جاوا و InLine در بیسیک استفادش کنید.

 

کافیه کتابخانه javaObject رو تیک بزنید و کدای زیر رو به آخر یکی از End sub هاتون اضافه کنید:

#if java
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import anywheresoftware.b4a.BA;

	 public void handle(WebView webview){
	 webview.setWebChromeClient(new WebChromeClient(){

			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				processBA.raiseEventFromUI(this, "onprogresschanged",newProgress);
				super.onProgressChanged(view, newProgress);
			}
     	
     	
     });
 }
#end if

Sub onprogresschanged(p As Int)
	ProgressBar1.Progress=p
End Sub

با جاوا ایونت onprogresschanged رو هندل کردیم و وقتی رخ داد آوردیمش به ایونتی که توی کدنویسی بیسیک ایجاد کردیم و مقدارش رو دادیم به ProgressBar1 .

همچنین در اکتیویتی کریت قبل از لود کردن سایت متد مورد نظر رو فراخوانی کنید:

Dim j As JavaObject
	j.InitializeContext
	j.RunMethod("handle",Array As Object(WebView1))
	WebView1.LoadUrl("http://google.com")

اینم نمونه سورس کوچیکی ازاین کار، progressBar هم گذاشتم.

http://s7.picofile.com/file/8258445000/webview_progressbar.zip.html

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

میشه بگید چطوری ProgressBar رو قرمز کنم که وقتی نمایش میده لودینگ رو بارنگ قرمز نمایش بده.

این دیگه بحثی جدا داره. میتونید سرچ بکنید "progressbar" یا...

فکر کنم دوستان سورس هایی گذاشته بودن.

 

http://answercenter.ir/topic/4514-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%B1%D9%86%DA%AF-%D9%BE%D8%B1%D8%A7%DA%AF%D8%B1%D8%B3-%D8%A8%D8%A7%D8%B1-progressbar/

http://answercenter.ir/topic/4075-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%B1%D9%86%DA%AF-progressbar/

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

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

 

نیست 

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

راستش مطالعه کردم ولی  ,  نمیدونم چرا هر چی کد میدادم بهش فرقی نکرد

خیلی کلنجار رفتم ولی نتونستم :wacko1:

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

سلام بله میتونی از کاستوم پراگرس بار استفاده کنی . جستجو کن در این مورد پیدا میکنی.

یا در صورتی که از appcompat استفاده کنی ظاهرش خوب میشه

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

مطالب خیلی پراکند هستند 

و هیچ کدام  این پروگراس   را برای وب ویو ندارند  ....الان توسایت ها یک پروگراس افقی بالای سایت نمایش میده تا سایت لود بشه !

این کار رو چطوری بسازیم

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

تو انجمن خیلی سرچ کردم ولی مطلبی اینطوری ندیدم به جواب برسه

 

 

کسی هست جواب بده

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

در در 1395/04/12, 23:56:06، پژمان نیکروان گفته است :

سلام علیکم.

webview رویدادی به نام onProgressChanged داره که مقدار بارگذاری شده رو نشون بده، اما آقای ارل این قابلیت رو به وب ویو بیسیک ندادن.

اما شما میتونید با جاوا و InLine در بیسیک استفادش کنید.

 

کافیه کتابخانه javaObject رو تیک بزنید و کدای زیر رو به آخر یکی از End sub هاتون اضافه کنید:


#if java
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import anywheresoftware.b4a.BA;

	 public void handle(WebView webview){
	 webview.setWebChromeClient(new WebChromeClient(){

			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				processBA.raiseEventFromUI(this, "onprogresschanged",newProgress);
				super.onProgressChanged(view, newProgress);
			}
     	
     	
     });
 }
#end if

Sub onprogresschanged(p As Int)
	ProgressBar1.Progress=p
End Sub

با جاوا ایونت onprogresschanged رو هندل کردیم و وقتی رخ داد آوردیمش به ایونتی که توی کدنویسی بیسیک ایجاد کردیم و مقدارش رو دادیم به ProgressBar1 .

همچنین در اکتیویتی کریت قبل از لود کردن سایت متد مورد نظر رو فراخوانی کنید:


Dim j As JavaObject
	j.InitializeContext
	j.RunMethod("handle",Array As Object(WebView1))
	WebView1.LoadUrl("http://google.com")

اینم نمونه سورس کوچیکی ازاین کار، progressBar هم گذاشتم.

webview-progressbar

سلام

ببخشید

ولی من هر کاری کردم این کد و سورس کار نکرد

ارورری هم نمیده

برنامه باز میشه و سایت لود میشه ولی مقدار پروگرس فرق نمیکنه و صفر 

کمک کنید.

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

واقعا ممنونم   از یک تشکر فراتر هست دلم نیومد نگم

 

تشکر میکنم.

 

 

میشه بگید چطوری ProgressBar   رو قرمز کنم که وقتی نمایش میده لودینگ رو  بارنگ قرمز نمایش بده.

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

بایگانی شده

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

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

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