android播放圖片
⑴ android循環播放圖片的時間間隔設置問題
android:ration="60000"這個就是時間間隔,每張圖片的停留時間。60000是個很長的時間了,說不上非常快速。不知道你是不是想說,4張圖片播放完了後,再播放一遍的間隔時間?還是每張圖片的播放間隔時間?
⑵ 什麼軟體可以播放動態圖片 Android 手機
安卓手機自帶的圖庫不支持瀏覽GIF動態圖,推薦使用快圖瀏覽。
快圖瀏覽 (QuickPic)是Android平台上的一款圖片瀏覽工具,解決了Android手機自帶的3D圖庫無法預覽GIF圖片的問題。快圖瀏覽也秉承了作者一貫的優秀開發風格,支持播放 GIF 動畫和視頻影像。
⑶ Android怎樣播放多張圖片形成一個動畫
在android里可以逐幀的播放圖片,然後產生一種動態的效果,准備好幾張連續的圖片,然後在於源程序res文件夾下建立anim文件夾,然後新建一個XML
XML代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/c1" android:ration="200" />
<item android:drawable="@drawable/c2" android:ration="200" />
<item android:drawable="@drawable/c3" android:ration="200" />
<item android:drawable="@drawable/c4" android:ration="200" />
<item android:drawable="@drawable/c5" android:ration="200" />
<item android:drawable="@drawable/c6" android:ration="200" />
</animation-list>
其中c1,c2,c3,c4,c5,c6是加入的圖片的名稱。
在窗體裡面放置一個ImageView控制項,並在代碼中編寫:
_imageView1 =(ImageView)findViewById(R.id.imageView1);//放置的ImageView控制項
//設置動畫背景
_imageView1.setBackgroundResource(R.anim.animation_list);//其中R.anim.animation_list就是上一步准備的動畫描述文件的資源名
//獲得動畫對象
_animaition = (AnimationDrawable)_imageView1.getBackground();
最後,就可以啟動動畫了,代碼如下:
//是否僅僅啟動一次?
_animaition.setOneShot(false);
if(_animaition.isRunning())//是否正在運行?
{
_animaition.stop();//停止
}
_animaition.start();//啟動
⑷ android 如何實現圖片視頻混合播放啊
直接上代碼:
布局文件就是兩個全屏的videoview和imageview重疊
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/pictureView"
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
java部分:
/*
視頻圖片混合展示demo
*/
packagecom.example.administrator.hunbo;
importandroid.content.Context;
importandroid.media.MediaPlayer;
importandroid.net.Uri;
importandroid.os.Handler;
importandroid.os.storage.StorageManager;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.ImageView;
importandroid.widget.Toast;
importandroid.widget.VideoView;
importjava.io.File;
importjava.lang.reflect.InvocationTargetException;
importjava.lang.reflect.Method;
importjava.util.ArrayList;
{
privateVideoViewvideoView;
privateImageViewpictureView;
booleanisPlaying=false;
privateArrayListarrayList=newArrayList<String>();
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();//隱藏actionBar
//初始化控制項
videoView=findViewById(R.id.videoView);
pictureView=findViewById(R.id.pictureView);
//最開始兩個view都是隱藏的
videoView.setVisibility(View.GONE);
pictureView.setVisibility(View.GONE);
//檢測SD卡是否存在
String[]result=null;
StorageManagerstorageManager=(StorageManager)getSystemService(Context.STORAGE_SERVICE);
try{
Methodmethod=StorageManager.class.getMethod("getVolumePaths");
method.setAccessible(true);
try{
result=(String[])method.invoke(storageManager);
}catch(InvocationTargetExceptione){
e.printStackTrace();
}
if(result.length>1){
//Toast.makeText(this,"檢測到U盤",Toast.LENGTH_SHORT).show();
AllFilesPath("/mnt/usb/");
playList();
}else{
Toast.makeText(this,"未檢測到U盤,請在開機前插入U盤,或者重新啟動此應用",Toast.LENGTH_SHORT).show();
Handlerhandler=newHandler();
handler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
finish();
}
},2500);
}
}catch(Exceptione){
e.printStackTrace();
}
}
//獲取所有圖片視頻的絕對路徑到arraylist
privateArrayListAllFilesPath(Stringpath){
Filefile=newFile(path);
File[]files=file.listFiles();
for(Filef:files){
if(f.getName().endsWith("jpg")||f.getName().endsWith("jpeg")||f.getName().endsWith("mp4")
||f.getName().endsWith("avi")||f.getName().endsWith("mkv")||f.getName().endsWith("rmvb")
||f.getName().endsWith("flv")){
System.out.println("------------獲取到了一個可用路徑:"+f.getAbsolutePath());
arrayList.add(f.getAbsolutePath());//添加到arralist
}elseif(f.isDirectory()){
AllFilesPath(f.getAbsolutePath());
}
}
returnarrayList;
}
//依次混合播放arralist里的圖片或視頻
publicintlistNum;
privatevoidplayList(){
if(listNum>=arrayList.size()){
finish();
//listNum=0;
}else{
System.out.println("---------------------------收入路徑---------------------------");
System.out.println("isplaying="+isPlaying);
finalFilef=newFile(arrayList.get(listNum).toString());
if(f.getName().endsWith("jpg")||f.getName().endsWith("jpeg")||f.getName().endsWith("png")){
System.out.println("---------------------------添加了一張圖片:"+f.getAbsolutePath());
pictureView.setVisibility(View.VISIBLE);
pictureView.setImageURI(Uri.fromFile(f));
Handlerhandler=newHandler();
handler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
System.out.println("---------------------------播完了一張位於"+f.getAbsolutePath()+"的圖片》》》》》》》》》》》》》》》》》");
pictureView.setVisibility(View.GONE);
listNum++;
playList();
}
},2000);//2秒後結束當前圖片
}elseif(f.getName().endsWith("mp4")||f.getName().endsWith("avi")||f.getName().endsWith("mkv")
||f.getName().endsWith("rmvb")||f.getName().endsWith("flv")){
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~添加了一個視頻"+f.getAbsolutePath());
videoView.setVideoPath(f.getAbsolutePath());
videoView.setVisibility(View.VISIBLE);//播放之前顯示videoView
videoView.start();
videoView.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){
@Override
publicvoidonCompletion(MediaPlayermp){
System.out.println("---------------------------播完了一個位於"+f.getAbsolutePath()+"的視頻《《《《《《《《《《《《《《《《《《");
videoView.setVisibility(View.GONE);//視頻播放完畢後隱藏videoView
listNum++;
playList();
}
});
}
}
}
⑸ android 圖片播放 代碼
直接用動畫播放圖片 再在github上面下載一個photoView 來顯示圖片 就行了
⑹ android的自帶圖庫怎樣實現循環播放圖片
可以啊,幻燈片模式下,你可以程序判斷是否到最後一張,然後設置它下一張播放的index的
⑺ ANDROID怎麼把一幀幀的圖片播放成視頻
定義一個類繼承SurfaceView或View,然後重寫draw方法。最好用雙緩沖技術不會閃屏