android - 如何设置图像/WebView 高度/宽度以匹配父项?

标签 android android-webview android-animation

大家好,美好的一天。

我发现使用 WebView 显示 GIF 动画很容易,因为它相当简单。

现在我显示的 GIF 大小为 800x800 像素。我想要的是这个 GIF 适合它可用的屏幕,可能会匹配父级类似的东西,这样就不必滚动或放大/缩小图片。它会自动适应任何可用的屏幕。

我用于实验的设备是:GT-I9100/Samsung Galaxy SII,屏幕尺寸为 800x480px。

这是我主要 Activity 的一段代码:

HToad view = new HToad(this, "file:///android_asset/hypnotoad.gif");
view.setInitialScale(30);
view.getSettings().setUseWideViewPort(true);
setContentView(view);

这是 HToad 类:

import android.content.Context;
import android.webkit.WebView;

public class HToad extends WebView {

    public HToad(Context context, String path) {
        super(context);
        // TODO Auto-generated constructor stub
        loadUrl(path);
    }

}

我尝试使用各种设置,如 LayoutParams 和 IntialSize 等,但都没有帮助我实现我想要的。

我正在为 WebView 使用 JAVA,而不是在 XML 中定义 WebView。

提前谢谢你。

最佳答案

尝试使用 loadData 方法而不是 loadUrl 加载您的 gif 并添加这样的 css 样式:

<style type='text/css'>
    img {max-width: 100%;height:initial;}
</style>

最后你必须得到这样的东西:

setBackgroundColor(Color.TRANSPARENT);
loadData("<style type='text/css'> img {max-width: 100%;height:initial;}</style>" +
         "<img align='middle' src='file:///android_asset/hypnotoad.gif'/>", "text/html", "utf-8");
reload();

希望对你有所帮助。

关于android - 如何设置图像/WebView 高度/宽度以匹配父项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14695589/

相关文章:

java - Spinner getChildCount() 和 getChildAt() 错误

android - 如何在不打开谷歌浏览器的情况下在应用程序中打开文档文件?

android - 如何在 webview 中添加通知?

java - 如何在抽屉导航中提供 SettingsActivity?

java - 从 ExceptionHandler 子类安全退出应用程序?

android - 当它隐藏在另一个 fragment 中时,以编程方式在 CoordinatorLayout 中显示 BottomNavigationView

android - 在 Button 中动画化 Drawable 变化

android - 动画没有按预期工作

java - 无法通过 Android Studio 使用 JDBC 连接到 Cloud SQL 数据库

javascript - 你可以在android webview中自动链接日期吗