且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

webview 播放 flash swf

更新时间:2022-09-07 23:06:00

引用:http://qing.weibo.com/tj/7033e38233000ihq.html

一个通过webview播放flash的文件,以前一直以为可以使用videoview视频播放播放flash的东西,今天才发现不行,好像现在除了自己做一个flash播放器,就是用webview去加载flash了。废话少说,代码如下:

在xml里面设置webview布局

<WebView
       android:id="@ id/web_flash"
    android:layout_width="578px"
    android:layout_height="400px"
    android:background="#00000000"
    android:layout_centerInParent="true"
    />

然后在activity里面加载进来

 public void loadFlash() {
     WebView mWebFlash = (WebView) findViewById(R.id.web_flash);
     WebSettings settings = mWebFlash.getSettings();
  settings.setPluginsEnabled(true);
  settings.setJavaScriptEnabled(true);
  settings.setAllowFileAccess(true);
  settings.setDefaultTextEncodingName("GBK");
  mWebFlash.setBackgroundColor(0);
  mWebFlash.loadUrl("file:///android_asset/abc.swf");
 }

在activity里面执行loadFlash就可以播放swf文件了。一开始的时候,我播放swf文件总是在视频边缘有一些白边不管怎么设置大小都去不掉,后来发现这些白边是webview的,可是在xml里面设置background为透明不管用,找美工发现也不是视频的问题,最后发现,还有一个参数可以设置webview的背景色透明,那就是mWebFlash.setBackgroundColor(0);果然设置之后,白边没有了。但是webview的大小必须和视频的实际大小一致,不然背景是白色的,这个通过设置xml的background和mWebFlash.setBackgroundColor(0);都没有办法去掉,暂时还没有想到方法解决,但是已经不影响我使用了所以就先这样呀呵呵