gpt4 book ai didi

Android webview内容超出webview

转载 作者:行者123 更新时间:2023-11-28 09:21:53 27 4
gpt4 key购买 nike

有一个 webview 我禁用了滚动。并且它等于android手机屏幕尺寸的宽度。

问题是 webview 中的内容不是自动调整大小而是显示在 webview 之外(因为我禁用了滚动,但 webview 大小不是“完全”屏幕宽度),你可以看看截图

我已经添加了

<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>

    newsContent.getSettings().setUseWideViewPort(true);
newsContent.getSettings().setLoadWithOverviewMode(true);

但还是不行。谢谢。

enter image description here

WebView XML:

        <WebView
android:id="@+id/newsContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:background="#ffffff" />

Web View JAVA:

    StringBuilder sb = new StringBuilder();
sb.append("<HTML><HEAD><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'><LINK href=\"news.css\" type=\"text/css\" rel=\"stylesheet\"/><script src=\"jquery-1.10.2.js\" type=\"text/javascript\"></script></HEAD><body>");
sb.append(newsItem.description.toString());
sb.append("<script>$('img').on('click', function() {app.zoom($(this).attr('src'));});</script></body></HTML>");

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
newsContent.getSettings().setAllowUniversalAccessFromFileURLs(true);
newsContent.getSettings().setAllowFileAccessFromFileURLs(true);
}

newsContent.setWebChromeClient(new WebChromeClient());
newsContent.setWebViewClient(new WebViewClient());

newsContent.getSettings().setUseWideViewPort(true);
newsContent.getSettings().setLoadWithOverviewMode(true);

newsContent.getSettings().setJavaScriptEnabled(true);
newsContent.addJavascriptInterface(new WebViewJavaScriptInterface(), "app");

newsContent.loadDataWithBaseURL("file:///android_asset/", sb.toString(), "text/html", "utf-8", null);

newsContent.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return (event.getAction() == MotionEvent.ACTION_MOVE);
}
});

newsContent.setVerticalScrollBarEnabled(false);
newsContent.setHorizontalScrollBarEnabled(false);

最佳答案

你似乎做了一些特别的事情,因为我实现了一个 webview 没有任何问题,作为我一个月前的第一个 android 元素之一。

  • 检查 webview 上方的 xml 高度、宽度和布局类型

  • 检查 URL 网站本身是否设置为做一些时髦的事情。 webview 可能是正确的。我建议将您的 webview 重新定位到您知道可以测试的某个站点,例如我的 Tumblr 博客 URL http://sprocketblog.tumblr.com

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".HomeFeed"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"

<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webview" >
</WebView>
</RelativeLayout>

Java

public class NewsFeed extends Activity {

private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_feed);

mWebView = (WebView) this.findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://sprocketblog.tumblr.com");
mWebView.setWebViewClient(new TumblrWebViewClient());

if (savedInstanceState == null)
}

//Keeps user in webview on multiple taps without shooting off to Chrome
private class TumblrWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView webview, String url) {
webview.loadUrl(url);
return true;
}
//On error shows HTML resource
@Override
public void onReceivedError (WebView view, int errorCode, String description, String failingUrl) {
mWebView.loadUrl("file:///android_asset/networkerror.html");
}


}

//Binds OS back button to webview
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
// If it wasn't the Back key or there's no web page history, bubble up to the default
// system behavior (probably exit the activity)
return super.onKeyDown(keyCode, event);
}

关于Android webview内容超出webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com