導航:首頁 > 操作系統 > androidfor圖片循環播放

androidfor圖片循環播放

發布時間:2022-07-21 03:55:48

A. 如何用for循環作以圖片循環播放vc

從外面的for進入,執行裡面for,執行完執行 下面的if,執行完判斷外面的for是否繼續,如繼續,繼續執行for --if--知道結束。
*(pValues+i)=*(pValues+min);//=並不是相等的意思,而是把後面的值給前面的那個變數。

B. 怎麼能讓安卓手機視頻無限循環播放

現在華為的手機已經可以實現這一功能了,其它手機我不清楚能不能實現:
點開(圖庫),點開(視頻),點開某一段視頻,點播放,點右上角的三個小點,出來一個頁面,點上面的(播放設置)的(單片循環),然後就可以看到該視頻不斷重復播放了。如果有多個視頻想一起播放,也可以點(播放設置)的(全部循環),就全部播放,循環不停。

C. android怎麼viewpager實現循環切換圖片

Android中的ViewPager則實現了左右滑動的效果,ViewPager類提供了多界面切換的新效果。利用ViewPager實現圖片循環滾動代碼如下:

1、首先是布局文件,使用了一個ViewPager控制項:

java"><spanstyle="padding:0px;margin:0px;font-size:14px;"><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/viewpager"
android:background="#33000000"
android:orientation="vertical"
android:padding="5dip">
<TextView
android:id="@+id/tv_image_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="第一個引導頁面"
android:textColor="@android:color/white"
android:textSize="14sp"/>
<LinearLayout
android:id="@+id/ll_points"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</RelativeLayout></span>

2、接下來實現一個繼承PagerAdapter的MyAdapter類,實現一個PagerAdapter,代碼如下:

<spanstyle="padding:0px;margin:0px;font-size:14px;">packagecom.example.viewpagertest;
importjava.util.List;
importandroid.support.v4.view.PagerAdapter;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.ImageView;
{
privateList<ImageView>mImageViewList;
publicViewPagerAdapter(List<ImageView>imageViewList){
super();
this.mImageViewList=imageViewList;
}
/**
*該方法將返回所包含的Item總個數。為了實現一種循環滾動的效果,返回了基本整型的最大值,這樣就會創建很多的Item,
*其實這並非是真正的無限循環。
*/
@Override
publicintgetCount(){
returnInteger.MAX_VALUE;
}
/**
*判斷出去的view是否等於進來的view如果為true直接復用
*/
@Override
publicbooleanisViewFromObject(Viewarg0,Objectarg1){
returnarg0==arg1;
}
/**
*銷毀預載入以外的view對象,會把需要銷毀的對象的索引位置傳進來,就是position,
*因為mImageViewList只有五條數據,而position將會取到很大的值,
*所以使用取余數的方法來獲取每一條數據項。
*/
@Override
publicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){
container.removeView(mImageViewList.get(position%mImageViewList.size()));
}
/**
*創建一個view,
*/
@Override
publicObjectinstantiateItem(ViewGroupcontainer,intposition){
container.addView(mImageViewList.get(position%mImageViewList.size()));
returnmImageViewList.get(position%mImageViewList.size());
}
}
</span>

3、最後是主界面部分的代碼:

<spanstyle="padding:0px;margin:0px;font-size:14px;">packagecom.example.viewpagertest;
importjava.util.ArrayList;
importjava.util.List;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.os.SystemClock;
importandroid.support.v4.view.ViewPager;
importandroid.support.v4.view.ViewPager.OnPageChangeListener;
importandroid.view.View;
importandroid.widget.ImageView;
importandroid.widget.LinearLayout;
importandroid.widget.LinearLayout.LayoutParams;
importandroid.widget.TextView;

{

privateList<ImageView>imageViewList;
privateTextViewtvDescription;
privateLinearLayoutllPoints;
privateString[]imageDescriptions;
=0;
privateViewPagermViewPager;
privatebooleanisLoop=true;
privateHandlerhandler=newHandler(){

@Override
publicvoidhandleMessage(Messagemsg){
super.handleMessage(msg);

mViewPager.setCurrentItem(mViewPager.getCurrentItem()+1);
}
};

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setView();
initView();
}

publicvoidsetView(){
setContentView(R.layout.activity_splash_viewpager);

//自動切換頁面功能
newThread(newRunnable(){

@Override
publicvoidrun(){
while(isLoop){
SystemClock.sleep(2000);
handler.sendEmptyMessage(0);
}
}
}).start();
}

publicvoidinitView(){
mViewPager=(ViewPager)findViewById(R.id.viewpager);
tvDescription=(TextView)findViewById(R.id.tv_image_description);
llPoints=(LinearLayout)findViewById(R.id.ll_points);

prepareData();

ViewPagerAdapteradapter=newViewPagerAdapter(imageViewList);
mViewPager.setAdapter(adapter);
mViewPager.setOnPageChangeListener(this);

tvDescription.setText(imageDescriptions[previousSelectPosition]);
llPoints.getChildAt(previousSelectPosition).setEnabled(true);

/**
*2147483647/2=1073741820-1
*設置ViewPager的當前項為一個比較大的數,以便一開始就可以左右循環滑動
*/
intn=Integer.MAX_VALUE/2%imageViewList.size();
intitemPosition=Integer.MAX_VALUE/2-n;

mViewPager.setCurrentItem(itemPosition);
}

privatevoidprepareData(){
imageViewList=newArrayList<ImageView>();
int[]imageResIDs=getImageResIDs();
imageDescriptions=getImageDescription();

ImageViewiv;
Viewview;
for(inti=0;i<imageResIDs.length;i++){
iv=newImageView(this);
iv.setBackgroundResource(imageResIDs[i]);
imageViewList.add(iv);

//添加點view對象
view=newView(this);
view.setBackgroundDrawable(getResources().getDrawable(R.drawable.point_background));
LayoutParamslp=newLayoutParams(5,5);
lp.leftMargin=10;
view.setLayoutParams(lp);
view.setEnabled(false);
llPoints.addView(view);
}
}

privateint[]getImageResIDs(){
returnnewint[]{
R.drawable.bg1,
R.drawable.bg2,
R.drawable.bg3,
R.drawable.pic_01,
R.drawable.pic_02
};
}

privateString[]getImageDescription(){
returnnewString[]{
"第一個引導頁面",
"第二個引導頁面",
"第三個引導頁面",
"第四個引導頁面",
"第五個引導頁面"
};
}
@Override
(intarg0){

}
@Override
publicvoidonPageScrolled(intarg0,floatarg1,intarg2){

}
@Override
publicvoidonPageSelected(intposition){
//改變圖片的描述信息
tvDescription.setText(imageDescriptions[position%imageViewList.size()]);
//切換選中的點,把前一個點置為normal狀態
llPoints.getChildAt(previousSelectPosition).setEnabled(false);
//把當前選中的position對應的點置為enabled狀態
llPoints.getChildAt(position%imageViewList.size()).setEnabled(true);
previousSelectPosition=position%imageViewList.size();
}
@Override
protectedvoidonDestroy(){
super.onDestroy();
isLoop=false;
}
}
</span>

D. android中怎麼讓輪播圖無限循環

比如有三張圖要輪詢

一般的做法是先創建一個適配器,getCount返回int最大值。
activity中聲明一個變數i來記錄當前應該顯示第幾張。一般初始化為int最大值/2就好。

然後再onResume中來啟動線程。用來執行一個while來無限循環。停留兩秒鍾i+1然後更新viewpager。調用viewpager.setCurrentItem(i) 方法來設置.
這時候會調用PagerAdapter的instantiateItem方法。position%3 也就是i%總共幾張圖。就是要顯示的圖片。

E. 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();
}
});
}
}
}

F. android循環播放圖片的時間間隔設置問題

android:ration="60000"這個就是時間間隔,每張圖片的停留時間。60000是個很長的時間了,說不上非常快速。不知道你是不是想說,4張圖片播放完了後,再播放一遍的間隔時間?還是每張圖片的播放間隔時間?

G. 推薦一個關於圖片輪播的安卓app

有一個叫美圖app的軟體就可以,當然現在很多視頻製作軟體都可以。

H. 一個關於for循環的問題(android應用里的)

1.循環體就是 sms.sendTextMessage(mobile_str,null,text,null,null);
打上括弧就是
for(String text:texts){
sms.sendTextMessage(mobile_str,null,text,null,null);
}
2. 如果你說的是 for 你們的表達式:
其實, 就是 把 list text中的 String 取出來, 放到 String text 中, 然後參與下面的運算.

I. android開發圖片(ImageView)要實現循環勻速滾動,速度可調,怎麼實現呢,用什麼組件好呢

採用畫廊視圖,GalleryView,自動勻速定時切換的話可以使用Timetask。網上搜一搜,很多案例。望採納。

J. android的自帶圖庫怎樣實現循環播放圖片

可以啊,幻燈片模式下,你可以程序判斷是否到最後一張,然後設置它下一張播放的index的

閱讀全文

與androidfor圖片循環播放相關的資料

熱點內容
程序員追愛 瀏覽:250
程序員邏輯故事 瀏覽:766
加密icsot23i2c 瀏覽:709
你們有什麼好的解壓軟體 瀏覽:605
常州空氣壓縮機廠家 瀏覽:239
安卓如何關閉app內彈出的更新提示 瀏覽:407
e4a寫的app怎麼裝蘋果手機 瀏覽:199
海立壓縮機海信系 瀏覽:208
社保如何在app上合並 瀏覽:220
小米加密照片後綴 瀏覽:234
我的世界網易手機怎麼創伺服器 瀏覽:978
載入單頁源碼 瀏覽:930
阿里雲伺服器seo 瀏覽:777
海洋斗什麼時候上線安卓 瀏覽:86
中行app如何查每日匯款限額 瀏覽:840
輸入伺服器sn是什麼意思 瀏覽:725
sha1演算法java 瀏覽:90
asp代碼壓縮 瀏覽:851
按鍵壓槍源碼 瀏覽:180
福建伺服器負載均衡是什麼 瀏覽:697