[Free] Create WebViewer by code. DownloadFile. Zoom (or not). Fit to layout. Video. JavaScript


In other post @Shivendra_Kr_Sahu ask to me about create WebViewer by code.
Other user ask to me about DownloadFile with this extension, I have modified and now can download file.

With this extension we can create a WebViewer in a Layout by code.
fit (true or false): use setLoadWithOverviewMode, ‘zooms out the content to fit on screen by width’
zoom (true or false): allow (or not) zoom.
clickable (true or false) links clickables (or not).
OnPageFinished is an event.
pageHeigh, is a variable.

DownloadFile block is an independent block, you can use it without WebViewer.
url: where is file to download
toDirectory: where download file in sdcard, if that directory isn`t exist, it is created.
Downloading event.
bytesDownloadedToFar: bytes downloaded to far.
bytesToLoad: byte_total in file
percent: percent download now.
completed: boolean (true/false)

  • Notification:
    By Notification you can look, download process.


  • Mediante esta extensión podemos crear un VisorWeb por código, en su creación podemos establecer que se adapte al ancho de la pantalla mediante la variable booleana fit y permitir o no zoom, mediante la variable, también booleana zoom.
    También he añadido la posibilidad de que puedan funcionar o no los enlaces, mediante la variable clickable.
    También he añadido el bloque de BajarArchivo:
    Puedes bajar un archivo, guardarlo en un directorio de la SdCard, si el directorio no existe, lo crea. Además se puede obterner el número de bytes de bajada.
    Mediante la Notificación, se puede ver el proceso de bajada.
    com.KIO4_CreateWebView.aix (12.2 KB)
    com.KIO4_CreateWebView.aix (13.9 KB)
    com.KIO4_CreateWebView.aix (20.9 KB) (This is last version with DownloadFile).

p194C_extension_CrearVisorWeb.aia (13.8 KB)
p194C_extension_CrearVisorBajarArchivo.aia (21.5 KB) (Example DownloadFile)

If you like this extension and you want to collaborate with the work done, you can donate 7€ or 7$ through this Paypal link:


[Free] Extended Web Viewer Extension
How can i make a non clickable webview. Is is possible via extentions
Requesting a extension
HTML with Thunkable
Add Javascript into thunkable

With this extension we can use JavaScript code.

By JavaScript we can build code and link with App Inventor or Thunkable app.

Example: Pythagorean theorem


With this extension we can look video in WebViewer

Upload to our app this file: reproductor.htm

Then in code…

(or file:///android_asset/reproductor.htm)
p194C_extension_CrearVisorWeb.aia (13.8 KB)


excellent extension.
ı need this extension many time.


very very thank u sir :pray::pray::pray:


what’s the difference with the normal web viewer? (however, congrats)


Is it possible to add a list of URLs in the URL block?


You can see in features:
fit (true or false): use setLoadWithOverviewMode, 'zooms out the content to fit on screen by width’
zoom (true or false): allow (or not) zoom.
OnPageFinished is an event.
pageHeigh, is a variable.
Create by code


ı tried this extension. ı realize that my app is slowing in time. ı use clearclash but its same.


is it possible to have a ‘webviewer. loadHTML’ block, then we don’t have to upload a html to assets


I don’t understand.

You can have a htm file in (example) /mnt/sdcard/mylocalweb/index.htm
Then Create a WebViewer, (Screen1.Initialize) with url = file:///mnt/sdcard/mylocalweb/index.htm

When downloading via webviewer, it always show unsuccessful

i mean like this:
set variable html as ‘<html ><head > </head ><body >this is body </body ></html >

webviewer.loadHTML (html)

appybuilder have the same method


are you using Thunkable FAB? Because that makes a lot of problems and can slow down your app especially when used with map or webviewer.


no ı am not use FAB. now ı use normal web viewer and problem is solved @gre4t_wh1te



yes, I’ll try that, I think is easy.


I also tested an app compiled from your sample .aia and experienced that the webviewer becomes very unresponsive after some time / after opening several websites. It started to take really long until a touched link would open the linked website… I also experienced pinch to zoom problems – sometimes it works a little, then it stops working…


This extension uses public class WebWiew as ‘original webviewer’,
in the tests that I have made, keep the same speed as the ‘original webviewer’.

To zoom not pinch,.
To zoom, touch with a finger the screen, stop this finger. Now other finger drag over screen. (not pinch).


Hi @kevinkun, here it is.

In this version I have added the blocks: CreateWebViewString and LoadHtmlString.
Now you can set a HTML string and load as web page. (With string, variable pageHeight is 0)

  • En esta nueva versión he añadido los bloques: CreateWebViewString y LoadHtmlString, de tal manera que ahora podemos poner una cadena de caracteres con códigos HTML y visualizarlo como página web. Cuando la página carga como String, la variable de pageHeight es siempre 0.


com.KIO4_CreateWebView.aix (13.6 KB) (Version 2)
p194C_extension_CrearVisorWebString.aia (15.5 KB)


My motive is to ask this as we do in the earlier extensions. With label, image etc.


For me and @osmanyuksel it becomes very slow and unresponsive after some time therefor something seems to be wrong with it :man_shrugging:t4:

Sorry to say that but no user will zoom like this or understand they would have to…