我在网页视图中有一个gif应该可以作为应用程序的起始帮助,我想调整它以适应显示屏幕。它会在按钮点击时消失,这就是我把它放在特定活动中的原因。 gif是960x541,手机处于横向模式。
我一直在寻找解决方案,现在我投降了。 我在这里的各种讨论中尝试了或多或少的所有解决方案。
事实是,每次我加载webview,通过
webView.loadDataWithBaseURL("file:///android_asset/myGif.gif",dataString, "text/html", "utf-8",null);
它是空的。
只有在屏幕锁定解锁后才能正确显示gif。
显然,在锁定解锁之前和之后的调试输出没有区别。
如果我使用webView.loadUrl("file:///android_asset/myGif.gif")
,这不会发生,但在这种情况下,我找不到任何最适合显示屏的工作解决方案。
此外,每次我锁定 - 解锁缩放更改。这就是代码中有keep_screen_on注释行的原因。 _最后编辑
这是我的代码..我真的需要帮助:
MANIFEST:_有几个活动和权限,<uses-permission android:name="android.permission.INTERNET" />
已经在其中
布局:_initial_gif.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/webview"
/>
</RelativeLayout>
活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.initial_gif);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//set up webview
webView = (WebView) findViewById(R.id.webview);
String dataString = "<head><style type='text/css'>"
+"body{margin:auto auto;text-align:center;} </style></head>"
+"<body><img src='file:///android_asset/Archeo.gif' height='100%'/></body>";
webView.loadDataWithBaseURL("file:///android_asset/Archeo.gif",dataString, "text/html", "utf-8",null);
webView.setOnTouchListener(new View.OnTouchListener() {
//this is because I need to pass to second activity clicking somewhere in the screen
}
});
}
P.S。在其中一个讨论中,一个人说最好不要在onCreate方法中加载webview,而是在按钮onClick方法中插入命令。这仅适用于我加载webview 空然后单击按钮。 但是..因为我想要直接显示图像,我尝试以编程方式单击onCreate中的按钮,然后加载webview但没有结果。
编辑1: 这是输出的系列(开始,在第一次锁定 - 解锁后,第二次锁定 - 解锁后)。对不起,我需要覆盖细节,但我认为问题很好解释