HTML ve CSS dosyalarını WebView’e Yükleme

Merhabalar bu yazımda Android’de WebView içerisine HTML ve CSS dosyası yüklemeyi anlatacağım. Neden böyle birşey yapma ihtiyacı duyuyoruz önce ondan bahsedeyim. Android tarafında bazen öyle tasarımlarla karşılaşacaksınız ki bunu Android’in kendi componentleri ile çözmekte zorlanacaksınız. Örneğin bir sayfada belirli kısımların yazı tipinin farklı olması, renginin kırmızı olması istenecek bunu küçük metinler için belirli yöntemlerle yapabilirsiniz ancak büyük metinlerde ya da daha karmaşık tasarımda olay basit gözükse de işin içinden çıkılmaz bir hal alacak. Hal böyle olunca farklı arayışlara girmek zorunda kalacağız. Bunun için işimizi gören yöntem WebView içerisine HTML ve CSS dosyalarını gömmek olacak.

Şimdi Android Studio’da yeni bir proje oluşturalım. Ardından tasarım için activity_main.xml dosyasına aşağıdaki kodları yazalım.

Görüldüğü üzere tasarım kısmında 1 adet LinearLayout, 1 adet Button ve 1 adet WebView nesnesi bulunmakta.

Unutmadan AndroidManifest.xml dosyamıza alttaki kodu yazıp izin alıyoruz.

Şimdide MainActivity.java dosyasına aşağıdaki kodları ekleyelim.

Şimdi de assets klasörü oluşturup içerisine ornek.html ve style.css dosyalarımızı oluşturalım.

assets klasörü oluşturmak için aşağıdaki adımları izleyelim.

nJuct

Daha sonra alttaki adımda assets klasörünün yolunu değiştirip değiştirmeyeceğimizi soruyor. Bunun için “Change Folder Location” kısmını işaretlemiyoruz.

q0t34

Sonra assets içerisine ornek.html ve style.css adında iki dosya oluşturuyoruz ve alltaki kodları içerisine yazıyoruz.

ornek.html

style.css

Çalıştırdığımızda aşağıdaki gibi bir görüntü elde edilecektir.

device-2016-04-24-172027

Umarım faydalı olmuştur. Hepinize iyi çalışmalar…

Kaynaklar :
http://android–code.blogspot.com.tr/2015/05/android-webview-local-html-css.html

http://smallbusiness.chron.com/attaching-css-webview-android-50882.html

http://www.android-examples.com/load-local-html-file-with-css-into-android-webview/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.