图片无限轮播

package com.bwie.liu.frag;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import android.widget.Toast;

import com.bwie.liu.CaptureActivity;
import com.bwie.liu.R;
import com.bwie.liu.ShowActivity;
import com.bwie.liu.adapter.PagerAdpter;


/**
 * Created by Yuan on 2016/8/7.
 * 首页
 */
@SuppressLint("ValidFragment")
public class HomeFragment extends Fragment{
    private ViewPager vp;
    private LinearLayout line;

    String[] path = new String[] {
            "http://121.42.8.95:8090/ECServer_D/images/image1.png",
            "http://121.42.8.95:8090/ECServer_D/images/image2.png",
            "http://121.42.8.95:8090/ECServer_D/images/image3.png",
            "http://121.42.8.95:8090/ECServer_D/images/image4.png",
            "http://121.42.8.95:8090/ECServer_D/images/image5.png"};
    Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            // viewPager当前条目位置
            int currentItem = vp.getCurrentItem();

            // 在当前位置的基础上加1,就是下一张的位置
            int i = currentItem + 1;
            // 设置viewPager的位置
            vp.setCurrentItem(i);

            handler.sendEmptyMessageDelayed(8, 1500);

        };
    };

    @SuppressLint("ValidFragment")
    public HomeFragment() {
        // TODO Auto-generated constructor stub
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        context = getActivity();
        View view = inflater.inflate(R.layout.home_frag, null);
        // 得到控件对象
        vp = (ViewPager) view.findViewById(R.id.vp);
        line = (LinearLayout) view.findViewById(R.id.line);
        
        // 设置小圆点
        setPoint();

        vp.setAdapter(new PagerAdpter(context, path));
        vp.setCurrentItem(Integer.MAX_VALUE / 2 - Integer.MAX_VALUE
                % path.length);
        // 设置图片滑动时小圆点改变颜色
        vp.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                // 取出正确的角标
                int index = arg0 % path.length;
                // 取出image
                ImageView image = (ImageView) line.getChildAt(index);
                image.setEnabled(false);

                ImageView lastimage = (ImageView) line.getChildAt(lastIndex);
                lastimage.setEnabled(true);

                lastIndex = index;
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

            }
        });
        handler.sendEmptyMessageDelayed(9, 1500);

        return view;

    }
    
    // 设置小圆点
    private void setPoint() {

        for (int i = 0; i < path.length; i++) {
            // 创建imageview
            ImageView image = new ImageView(context);
            // 设置小圆点的资源文件
            image.setBackgroundResource(R.drawable.yuandianbackcolor);
            // layoutparams对象的类型,取决于该控件的父控件类型
            LayoutParams layoutparams = new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            // 设置右间距(小圆点之间的距离)
            layoutparams.rightMargin = 15;
            // 设置image的属性
            image.setLayoutParams(layoutparams);
            // 初始化第一个小圆点的颜色
            if (i == 0) {
                image.setEnabled(false);
            }
            // 把image添加到父控件
            line.addView(image);
        }

    }
    

}

//布局文件

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="150dp"
        android:layout_gravity="center" >

        <android.support.v4.view.ViewPager
            android:id="@+id/vp"
            android:layout_width="fill_parent"
            android:layout_height="150dp" >
        </android.support.v4.view.ViewPager>

        <LinearLayout
            android:id="@+id/line"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerInParent="true"
            android:orientation="horizontal" >
        </LinearLayout>
    </RelativeLayout>










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值