編輯:關於Android編程
Android本身並沒有播放flash的組件,但是在有Adobe提供的flash插件的情況下,用WebView打開網頁,使用網頁可以播放flash。所以本文的思路是使用WebView播放flash,通過java代碼控制WebView中的javascript代碼來控制flash的播放和進度顯示操作。由於android 2.2以下的系統不能安裝flash插件,所以不能使用此方法播放flash。
首先是要編輯一個能夠正常播放flash的網頁,並且能夠提供相應操作的javascript代碼供java代碼控制flash的播放。這個是一個關鍵,如果這個網頁寫的有問題的話,編譯也不會報錯,但是flash播放不能正常運行。示例代碼如下:
empty <script type='text/javascript'> var total;//定義flash影片總桢數 var frame_number;//定義flash影片當前桢數 var rate = 12;//幀頻 //動態顯示播放影片的當前桢/總桢數(進度條顯示) function showcount(){ total = movie.TotalFrames(); frame_number = movie.CurrentFrame(); frame_number++; var progressSize = 500*(frame_number/total); CallJava.consoleFlashProgress(progressSize,total/12); } //播放影片 function Play(){ movie.Play(); showcount(); } //暫停播放 function Pause(){ movie.StopPlay(); } //開始載入flash影片 function loadSWF(fsrc, fwidth, fheight){ movie.LoadMovie(0, fsrc); movie.width = fwidth; movie.height = fheight; frame_number = movie.CurrentFrame(); } //快進或者快退 function GoToFrame(progress){ total = movie.TotalFrames(); if(movie.IsPlaying()) Pause(); frame_number = total*progress/500; movie.GotoFrame(frame_number); Play(); } //flash插件不存在 function error(){ document.body.style.backgroundImage="url(flash_view_back_7490.jpg)"; document.getElementById("flash_page").innerHTML = "" + "缺少支持flash播放的插件,請安裝後再試!"; } //設置flash的高 function setHeight(height){ movie.height = height; document.getElementById("flash_page").style.height = height; } </script>
private final class CallJava{ public void consoleFlashProgress(float progressSize, int total){ showFlashProgress(progressSize, total); } }
flash_view.addJavascriptInterface(new CallJava(), "CallJava");
flash_view.getSettings().setJavaScriptEnabled(true); flash_view.getSettings().setPluginState(PluginState.ON); flash_view.setWebChromeClient(new WebChromeClient()); flash_view.getSettings().setAllowFileAccess(true); flash_view.getSettings().setPluginsEnabled(true); flash_view.getSettings().setSupportZoom(true); flash_view.getSettings().setAppCacheEnabled(true);
public void start(){ if(null != flashPath){ flash_view.loadUrl("javascript:loadSWF(\""+flashPath+"\", \"" + width + "\", \"" + (height-bottom_height) + "\")"); flash_view.loadUrl("javascript:Play()"); handler.post(update_progress); play.setImageResource(R.drawable.pause); playing = true; } show(); } public void pause(){ if(null != flashPath){ flash_view.loadUrl("javascript:Pause()"); handler.removeCallbacks(update_progress); play.setImageResource(R.drawable.play); playing = false; } }
Android播放flash的示例源碼下載地址:http://download.csdn.net/detail/iloveyoueveryday/6911903 。
1.介紹首先看下支付寶上芝麻信用分的效果圖:2.思路確定雷達圖中心點坐標 繪制多邊形及連接線 根據維度值繪制覆蓋區域 繪制分數 繪制每個維度的標題文字和圖標3.實現獲取布
先來看看效果:圖片切分很多份,點擊交換拼成一張完整的;這樣關卡也很容易設計,3 3;4 4;5 5;6 6;一直下去加了個切換動畫,效果還是不錯的,其實游戲就是自定義了一
超詳細解析定位坐標—LatLng定位中用得最多的是坐標(也就是經緯度),那麼我們首先搞清楚什麼是坐標:LatLng 類:地理坐標基本數據結構。 描述
本節引言: 從本節開始我們來學習Android中繪圖與動畫中的一些基礎知識,為我們進階部分的自定義 打下基礎!而第一節我們來扣下Android中的