Xamarin.Android – WebView Kullanımı

13 Ağu

Bu yazımda sizlere Xamarin.Android‘te WebView kullanımından bahsedeceğim.

Öncelikle WebView nedir kısaca açıklayayım: WebView‘ı tarayıcı gibi(Chorme, Firefox vs) düşünebilirsiniz. Yani hali hazırda ki web sitelerini uygulama içinde webview ile gösterebilirsiniz.

Mesela semihcelikol.com sitesini bir android uygulama yapabiliriz. Bu işlemi Webview ile çok basit bir şekilde yapacağım. Burada en önemli nokta web sitesinin responsive olmasıdır.
Benim blog sitem responsive olduğu için mobile uygun olarak otomatik olarak açılacak.

Let’s get started

.axml dosyası;

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <android.webkit.WebView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/webView1" />
</RelativeLayout>

.cs dosyası;

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.V7.App;
using Android.Webkit;

namespace WebViewTestApp
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        WebView webView;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            webView = FindViewById<WebView>(Resource.Id.webView1);

            //Web sitesi yüklenir.
            webView.SetWebViewClient(new ExtendWebViewClient());
            webView.LoadUrl("http://semihcelikol.com");

            //Javascript dosyalarınıa izin verilir
            WebSettings webSettings = webView.Settings;
            webSettings.JavaScriptEnabled = true;
        }
        
    }

    internal class ExtendWebViewClient : WebViewClient
    {
        public override bool ShouldOverrideUrlLoading(WebView view, string url)
        {
            view.LoadUrl(url);
            return true;
        }
    }
}

İşlemler bu kadar.

Ekran çıktısı

Bir Cevap Yazın