編輯:關於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 。
Android自定義控件 芝麻信用分雷達圖
1.介紹首先看下支付寶上芝麻信用分的效果圖:2.思路確定雷達圖中心點坐標 繪制多邊形及連接線 根據維度值繪制覆蓋區域 繪制分數 繪制每個維度的標題文字和圖標3.實現獲取布
Android實現美女拼圖游戲詳解
先來看看效果:圖片切分很多份,點擊交換拼成一張完整的;這樣關卡也很容易設計,3 3;4 4;5 5;6 6;一直下去加了個切換動畫,效果還是不錯的,其實游戲就是自定義了一
Android中級篇之百度地圖SDK v3.5.0-百度地圖定位[超詳細圖解定位基礎]
超詳細解析定位坐標—LatLng定位中用得最多的是坐標(也就是經緯度),那麼我們首先搞清楚什麼是坐標:LatLng 類:地理坐標基本數據結構。 描述
Android基礎入門教程——8.1.1 Android中的13種Drawable小結 Part 1
本節引言: 從本節開始我們來學習Android中繪圖與動畫中的一些基礎知識,為我們進階部分的自定義 打下基礎!而第一節我們來扣下Android中的