您好我的网站是为移动设备设计的。
我在我的应用程序中使用 WebView 来显示这个网站。
当用户缩放文本时,我得到水平滚动条。相反,我想要的是页面中的文本应该换行到下一行,并且文本应该适合屏幕宽度。
应该使用哪些 html5、css3 属性来包装文本以适应移动设备的屏幕?
在苹果网站上它说
用户还可以使用手势放大和缩小。放大和缩小时,用户更改视口的比例,而不是视口的大小。因此,平移和缩放不会改变网页的布局。图 3-8 显示了用户放大查看详细信息时的同一网页。
所以我认为这不是可能的,除非你可以操纵规模
在您的代码中,您需要实现 WebViewClient 并覆盖 OnScaleChanged 方法,该方法会通知您用户放大了。在此方法中,您需要重新布局整个 WebView。以下代码是我如何实现文本重排(注意:如果您不希望滚动条显示,您将需要更多代码,但我没有添加):
WebView view;
view = (WebView)findViewById(R.id.webView);
view.setWebViewClient(new WebViewClient(){
@Override
public void onScaleChanged(WebView view, float oldScale, float newScale) {
view.getSettings().setLayoutAlgorithm(
LayoutAlgorithm.NARROW_COLUMNS); //causes the text to reflow to the screen size
view.invalidate();
super.onScaleChanged(view, oldScale, newScale);
}
});