我正在尝试将gif加载到WebView
,它正常工作,但问题是我看到了这个:
问题是我可以滚动,但我没有在WebView
中看到.gif完整。
我的html
是:
<html style="margin: 0;">
<body style="margin: 0;">
<img src="tuto1.gif" style="width: 40%; height: 70%" />
</body>
</html>
xml文件中的WebView
是
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webViewPager"
android:layout_width="@dimen/_200sdp"
android:layout_height="@dimen/_250sdp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitCenter" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/section_label"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
tools:text="Page One" />
<TextView
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:id="@+id/tv_description"
android:alpha="0.7"
android:gravity="center"
android:textColor="@android:color/white" />
</LinearLayout>
</FrameLayout>
我正在显示以下html
:
WebView wv = rootView.findViewById(R.id.webViewPager);
wv.loadUrl("file:///android_asset/tuto1.html");
wv.setBackgroundColor(Color.TRANSPARENT);
我想在屏幕上的那个空间看到我的.gif文件,我不希望它可以滚动我希望显示完整的“网页”。
我也试过了Glide
,但是当我把.gif放到ImageView
时,它的滞后程度很高,这就是我使用webView
的原因。
答案 0 :(得分:1)
我相信你应该尝试使用这个https://github.com/koral--/android-gif-drawable,而不是浪费时间玩臭名昭着的Android容易出错的网页浏览。
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个:
WebSettings settings = webView.getSettings();
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
https://developer.android.com/guide/webapps/targeting.html#Metadata
答案 3 :(得分:0)
<html>
<body style="padding:0px;margin:0px;">
<img src="tuto1.gif" style="width: 100%; height: 100%" />
</body>
</html>
<WebView
android:id="@+id/webViewDetail"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
webViewDetail.clearCache(true);
webViewDetail.clearHistory();
webViewDetail.clearFormData();
WebSettings webSettings = webViewDetail.getSettings();
// To enable java script on page.
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowContentAccess(true);
webSettings.setAllowFileAccess(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setDomStorageEnabled(true);
//To always load page from web server, not to use resources from cache.
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
String absoulteFileUrlPath = "file://" + singleFile.getAbsolutePath();
webViewDetail.loadUrl(absoulteFileUrlPath);