不同屏幕分辨率下的WebView文本大小

4

我在我的Android应用程序中实现Web视图,以获取动态文本。但问题是在不同的屏幕大小上,文本大小会变得更大/更小。如何解决这个问题?我是这样使用的...

webSettings.setDefaultFontSize(20);
2个回答

1
    public static int dp2px(Context context, float dpVal){
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                dpVal, context.getResources().getDisplayMetrics());
    }
webSettings.setDefaultFontSize(dp2px(context,20)/webview.getScale());
or:
webSettings.setDefaultFontSize(dp2px(context,20)*webview.getScale());

感谢您的回复,文本大小(20)在相同的高密度屏幕上较大/较小。 - user2767551
同样在 hdpi 屏幕上的其他图标怎么办? - tiny sunlight
同一高密度屏幕中Webview中的图像怎么样? - tiny sunlight
在高密度设备上,图片大小的问题(过大/过小)。 - user2767551
我认为这不是关于4.4或5.0的问题,而是关于屏幕尺寸和dpi的问题。 - tiny sunlight
显示剩余3条评论

0

你应该将字体大小设置为px(像素)或dp(密度无关像素)。只需使用像素,因为在每个屏幕上它始终是20像素,不会改变。如果使用dp,则屏幕大小将根据像素密度而变化,文本大小可能会改变。所以你的代码应该像这样:

webSettings.setDefaultFontSize(20px);

请阅读:Android中"px"、"dp"、"dip"和"sp"有什么区别?


谢谢您的回复,当我提到“px”时它会出现错误。 - user2767551

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接