关闭

使用ViewFlipper实现图片的轮播

212人阅读 评论(0) 收藏 举报

参考文章:http://www.2cto.com/kf/201502/376967.html

xml文件

<RelativeLayout xmlns: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"
    tools:context="com.xingyue.xingyue.PassiveLearningActivity" 
    android:background="@color/white">

  <ViewFlipper
     android:id="@+id/viewFlipperPhoto"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"/>
</RelativeLayout>


activity文件
import com.setting.deviceslock.Photos;
import com.wdh.utils.CommonalityMethod;
import com.wdh.utils.FilePath;
import com.wdh.utils.LogUtils;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.ViewFlipper;
public class PassiveLearningActivity extends Activity {

private final String Tag = "PassiveLearningActivity";
private ViewFlipper viewFlipper;
List<Photos> listPhoto;

@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_passive_learning);

viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipperPhoto);

//获取制定文件夹下的图片

listPhoto = CommonalityMethod.getListOfPictures(CommonalityMethod.makeRootDirectory(FilePath.photoPath));

for (int i = 0; i < listPhoto.size(); i++) {
LogUtils.i(Tag, "listPhoto.size():   "+i +"path:  "+FilePath.photoPath+"/"+listPhoto.get(i).getPhotoName());


viewFlipper.addView(getView(FilePath.photoPath+"/"+listPhoto.get(i).getPhotoName()));
}

viewFlipper.setFlipInterval(3000);//播放图片间隔时间
viewFlipper.startFlipping();
}


@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}

@SuppressWarnings("deprecation")
private View getView(String photoPath){
Bitmap bmp = BitmapFactory.decodeFile(photoPath);
View view = new View(this);
view.setBackground(new BitmapDrawable(bmp));
return view;

}

}


//Photos 类,存放photo名字

public class Photos {


private String photoName;
public String getPhotoName() {
return photoName;
}

public void setPhotoName(String photoName) {
this.photoName = photoName;
}

}

//图片所在的文件路径

public class FilePath {

/*本地文件路径*/
public final static String localFolderPath = "/storage/sdcard0/jingjing";

/*被动学习图片路径*/
public final static String photoPath = "/storage/sdcard0/jingjing/photos";
}

public class CommonalityMethod {


private static String Tag = "CommonalityMethod";

//文件夹不存在则 生成文件夹
public static File makeRootDirectory(String filePath) {
    File file = null;
    try {
        file = new File(filePath);
        if (!file.exists()) {
            file.mkdir();
        }
    } catch (Exception e) {
     LogUtils.i(Tag, e+"");
  }
    
    return file;
}


//获取指定文件夹下的图片
public static List<Photos> getListOfPictures(File fileName){
  
         File[] files = fileName.listFiles();// 列出所有文件  
         List<Photos> listPhoto = new ArrayList<Photos>();

 if (files != null) {
for (int i = 0; i < files.length; i++) {
 File file = files[i];  

//筛选png类型的图片
        if (file.getName().substring(file.getName().lastIndexOf(".")+1).equals("png")) {
        Photos photos = new Photos();
        photos.setPhotoName(file.getName());
        listPhoto.add(photos);
        }
    }
}
 
return listPhoto;
}

}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android中的ViewFlipper的简单使用------自动轮播

哈哈,请尊重原创哦,转载请链接:http://blog.csdn.net/elvira_mx/article/details/45334645 简单说一下,ViewFlipper是Andr...
  • Elvira_mx
  • Elvira_mx
  • 2015-04-28 13:14
  • 1376

ViewFlipper实现图片的轮播

之前一直使用ViewPager进行图片的轮播实现,今天看慕课网的视频才发现还有这样的控件可以实现图片的轮播。首先使用ViewFlipper进行基本的图片切换,在xml中我们可以直接定义ViewFlip...
  • okm6666
  • okm6666
  • 2016-04-16 14:17
  • 1524

Android-ViewFlipper(图片轮播 和 手势控制 实例)

1.回顾    上篇 学习了 ViewPager 的 使用的三种方式,分别通过 PagerAdapter , FragmentPagerAdapter 和 FragmentStatePagerAdap...
  • LABLENET
  • LABLENET
  • 2015-08-25 11:10
  • 2246

使用ViewFlipper实现图片轮播

ViewFlipper和AdapterViewFlipper有较大的相似性,它们可以控制组件切换的动画效果。它们的区别是:ViewFlipper需要通过addView(View v)方法或者在布局文件...
  • u014165119
  • u014165119
  • 2015-05-23 16:08
  • 1111

viewFlipper的使用实现自动轮播广告图片

第一步:layout文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:...
  • u013680097
  • u013680097
  • 2016-02-15 20:18
  • 442

ViewFlipper实现图片轮播

  • 2013-10-04 17:41
  • 92KB
  • 下载

Android-使用ViewFlipper制作图片轮播器

Android-使用ViewFlipper制作图片轮播器之前我认为,左右滑动需要写大量的动画才可以实现,不过在复习Android基础时,发现了 ViewFlipper,只需要写几个简单的动画xml文...
  • ACM_TH
  • ACM_TH
  • 2016-04-08 22:00
  • 561

使用ViewFlipper+GestureDetector实现轮播图(APP引导页面)

使用ViewFlipper+GestureDetector实现轮播图(APP引导页面)
  • zhuwanfeng007
  • zhuwanfeng007
  • 2015-09-02 20:20
  • 395

ViewFlipper的使用---自动播放(轮播图)的实现以及多个view进行切换

一、 ViewFlipper的简介  java.lang.Object android.view.View android.view.ViewGroup ...
  • Kikitious_Du
  • Kikitious_Du
  • 2015-12-18 15:18
  • 1732

Android-ViewFlipper(图片轮播 和 手势控制 实例)

1.回顾    上篇 学习了 ViewPager 的 使用的三种方式,分别通过 PagerAdapter , FragmentPagerAdapter 和 FragmentStatePagerAdap...
  • LABLENET
  • LABLENET
  • 2015-08-25 11:10
  • 2246
    个人资料
    • 访问:58614次
    • 积分:1489
    • 等级:
    • 排名:千里之外
    • 原创:78篇
    • 转载:81篇
    • 译文:0篇
    • 评论:2条
    最新评论