Ukuran font Android WebView dalam piksel

Saya ingin mengatur ukuran font yang saya gunakan di WebView ke ukuran piksel tertentu. Saya sedang melakukan sesuatu seperti itu

<p style="font-size: 18px">Text</p>

Namun, ukuran font berbeda pada perangkat yang berbeda. Adakah yang tahu cara membuat ini berhasil?

Terima kasih!


person Joris Weimar    schedule 01.10.2012    source sumber
comment
karena perangkat yang berbeda memiliki ukuran piksel yang berbeda... Jika Anda benar-benar ingin menyetelnya ke piksel, Anda seharusnya mengharapkan variasi ini di seluruh perangkat. Apakah Anda memiliki alasan khusus ingin menggunakan piksel?   -  person FoamyGuy    schedule 01.10.2012
comment
maaf, mungkin saya harus menjelaskannya lebih lanjut. saya menggunakan piksel, tetapi saya menskalakan piksel agar sesuai dengan dpi perangkat. klien saya memiliki desain piksel tetap yang saya skalakan ke ukuran semaksimal mungkin (dengan batas atas bawah atau kiri kanan). semuanya berfungsi dengan baik kecuali tampilan web.   -  person Joris Weimar    schedule 02.10.2012


Jawaban (3)


Solusi yang saya temukan adalah menambahkan meta tag berikut ke HTML

 <meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" />
person Joris Weimar    schedule 17.10.2012
comment
Tidak berlaku lagi petelepage.com/blog/ 2013/02/ - person Dori; 01.09.2015
comment
terima kasih telah memberi tahu kami. kalau begitu aku harus mencari cara alternatif. - person Joris Weimar; 01.09.2015
comment
‹meta name=viewport content=width=device-width› berfungsi dengan baik bagi saya seperti yang dikomentari pada tautan di bawah. - person Juanin; 28.06.2016

Anda dapat menggunakan tampilan web untuk mendapatkan objek pengaturan dan setDefaultFontSize(int size) metode untuk mengatur ukuran font default.

Misalnya:

myWebView.getSettings().setDefaultFontSize(20);

Alternatifnya, Anda dapat menggunakan metode setInitialScale(int percentage) di web Anda view untuk mengatur persentase zoom yang Anda perlukan, Anda dapat mencobanya dengan persentase berbeda dan melihat mana yang Anda suka.

Misalnya:

myWebView.setInitialScale(85);

Anda juga dapat menggunakan tampilan web untuk mendapatkan objek pengaturannya dan kemudian menggunakan setBuiltInZoomControls(boolean value) metode untuk mengizinkan/melarang pengguna menggunakan kontrol zoom default sehingga mereka dapat memperbesar sesuai preferensi mereka.

Misalnya:

myWebView.getSettings().setBuiltInZoomControls(true);
person Anup Cowkur    schedule 01.10.2012

Tidak ada yang berhasil untuk saya, saya perlu melakukan ini:

WebSettings settings = wv.getSettings();
if (Utils.hasIceCreamSandwich())
    settings.setTextZoom( (int)(settings.getTextZoom() * 1.2));
else {
    settings.setTextSize(WebSettings.TextSize.LARGER);
}
person David Martínez Pérez    schedule 13.11.2013