Android 轮播图---ViewFlipper

来源:互联网 发布:mac如何隐藏dock栏 编辑:程序博客网 时间:2024/06/07 16:23

Android 轮播图—ViewFlipper

ONE Goal ,ONE Passion!

上一篇写了轮播图,使用ViewPager实现,这篇就使用ViewFlipper来实现吧.

ViewPager实现轮播图:
http://blog.csdn.net/fengltxx/article/details/50342605

第1步: 在xml中使用

特别简单没有什么需要注意的

<?xml version="1.0" encoding="utf-8"?><LinearLayout 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"    android:orientation="vertical"    tools:context="com.example.myapplication.HomeActivity">    <ViewFlipper        android:id="@+id/flipper"        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="1"        android:flipInterval="2000">    </ViewFlipper></LinearLayout>

第2步: 开始敲

package btlh.eductaion.activity;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.widget.ImageView;import android.widget.ViewFlipper;import com.bumptech.glide.Glide;import net.tsz.afinal.FinalBitmap;import java.util.ArrayList;import java.util.FormatFlagsConversionMismatchException;import java.util.List;import btlh.eductaion.BaseActivity;import btlh.eductaion.R;public class HomeActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener {    private ImageView image1, image2, image3, image4, image5, image6;    ImageView iv1, iv2, iv3, iv4;    private ViewFlipper mFlipper;    private List<ImageView> mList;    FinalBitmap fb;    Activity act;    private ImageView iv;    List<String> ImageList;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_home);        act = this;        init();    }    public void init() {        mFlipper = (ViewFlipper) findViewById(R.id.flipper);        mList = new ArrayList<>();        ImageList = new ArrayList<>();        ImageList.add("http://image24.360doc.com/DownloadImg/2011/03/0513/9707070_34.gif");        ImageList.add("http://image24.360doc.com/DownloadImg/2011/03/0513/9707070_35.gif");        ImageList.add("http://image24.360doc.com/DownloadImg/2011/03/0513/9707070_36.gif");        addPicture();    }    /**     * 为轮播图添加图片     */    private void addPicture() {        for (int i = 0; i < ImageList.size(); i++) {            iv = new ImageView(this);            mList.add(iv);            Glide.with(this).load(ImageList.get(i)).into(mList.get(i));            final int I = i;             //为item注册点击监听            regristerListener(i);          //将图片添加到viewFlipper中            mFlipper.addView(mList.get(i));        }        mFlipper.startFlipping();    }//如果想实现手指滑动改变重写ontouch事件.去判断滑动    @Override    public boolean onTouch(View v, MotionEvent event) {// 如果像左滑动mFlipper.showPrevious();//如果像右滑动mFlipper.showNext();        return true;    }}/**     *     图片的监听     * @param i     */    private void regristerListener(final int i) {        mList.get(i).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                System.out.println("点击的是---" + i);        //  项目中一般根据 i 取得对应的数据去做一些详情处理            }        });    }

第3步:运行上效果图:

这里写图片描述

0 0