2012-10-01 40 views
6

Tôi muốn đặt kích thước phông chữ tôi đang sử dụng trong WebView thành kích thước pixel cụ thể. Tôi đang làm điều gì đó dọc theo các dòng củaKích thước phông chữ Android WebView bằng pixel

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

Tuy nhiên, kích thước phông chữ khác nhau trên các thiết bị khác nhau. Bất kỳ ý tưởng làm thế nào để thực hiện công việc này?

Cảm ơn!

+0

vì các thiết bị khác nhau có pixel có kích thước khác nhau ... Nếu bạn thực sự muốn đặt pixel thành pixel, bạn nên mong đợi s biến thể trên các thiết bị. Bạn có lý do cụ thể nào muốn sử dụng pixel không? – FoamyGuy

+1

xin lỗi, có lẽ tôi nên xây dựng về điều này. tôi sử dụng pixel, nhưng tôi chia tỷ lệ pixel để khớp với dpi của thiết bị. khách hàng của tôi có thiết kế pixel cố định mà tôi mở rộng đến kích thước tối đa có thể (với đường viền trên cùng bên trái hoặc bên trái). mọi thứ hoạt động hoàn hảo ngoại trừ webview. –

Trả lời

6

Các giải pháp tôi đã tìm thấy được thêm thẻ meta sau vào HTML

<meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" /> 
+1

Không được chấp nhận http://www.petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/ – Dori

+0

cảm ơn vì đã cho chúng tôi biết. tôi nên nhìn vào một cách khác. –

+0

đã hoạt động tốt đối với tôi như đã nhận xét trong liên kết bên dưới. – Juanin

2

Bạn có thể sử dụng chế độ xem web để nhận đối tượng cài đặt và phương thức setDefaultFontSize(int size) để đặt kích thước phông chữ mặc định.

ví dụ:

myWebView.getSettings().setDefaultFontSize(20); 

Ngoài ra, Bạn có thể sử dụng phương pháp setInitialScale(int percentage) vào xem web của bạn để thiết lập tỷ lệ phóng to bạn cần, bạn có thể thử nó với tỷ lệ khác nhau và xem cái nào bạn thích.

ví dụ:

myWebView.setInitialScale(85); 

Bạn cũng có thể sử dụng webview để có được nó là đối tượng thiết lập và sau đó sử dụng setBuiltInZoomControls(boolean value) phương pháp để cho phép/không cho phép người dùng sử dụng các điều khiển zoom mặc định để họ có thể phóng to tùy theo sở thích của họ .

ví dụ:

myWebView.getSettings().setBuiltInZoomControls(true); 
0

Không ai trong số đó đang làm việc cho tôi, tôi cần phải làm điều này thay vì:

WebSettings settings = wv.getSettings(); 
if (Utils.hasIceCreamSandwich()) 
    settings.setTextZoom((int)(settings.getTextZoom() * 1.2)); 
else { 
    settings.setTextSize(WebSettings.TextSize.LARGER); 
} 
Các vấn đề liên quan