我想强制我的webview应用程序处于横向(最大模式),锁定纵横比,以便它总是填满屏幕,禁用缩放(双击时)&也禁用滚动。
这是我迄今为止尝试过的。
WebView b=(WebView)findViewById(R.id.webview);
b.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
b.setScrollbarFadingEnabled(false);
b.getSettings().setJavaScriptEnabled(true);
b.getSettings().setLoadWithOverviewMode(true);
b.getSettings().setUseWideViewPort(true);
b.getSettings().setBuiltInZoomControls(false);
b.setPadding(0,0,0,0);b.setInitialScale(getScale());
private int getScale(){
Display display=((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width=display.getWidth();Double val=new Double(width)/new Double(800);
val=val*100d;return val.intValue();
}
这是Galaxy note上的渲染
初步视图:http://i.snag.gy/ol0Zh.jpg
在屏幕上双击(我想要的初始视图)时查看:http://i.snag.gy/j6i3f.jpg
答案 0 :(得分:2)
要强制它横向显示,请在清单中将android:screenOrientation =“landscape”添加到活动中。这将阻止活动永远成为肖像。
我不建议禁用滚动 - 如果您的应用不适合较小的屏幕设备,该怎么办?他们将如何看待您的内容?你可以缩小显示比例,但这会伤害有视力问题的人(如果它变得足够小,甚至是普通人)。我只有30多岁,我可以放大大多数网站来更轻松地阅读文本。
答案 1 :(得分:1)
集
webView.getSettings().setUseWideViewPort(false);
然后我们可以手动设置比例。有关此内容,请参阅stackoverflow.com/a/3916700/519955。
对于横向,我们可以使用以下方式以编程方式设置它:
myActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
我们也可以像之前的回答一样对清单进行更改。