ViewPager实现无限轮播+小点点
来源:互联网 发布:u盘安装linux系统 编辑:程序博客网 时间:2024/05/05 14:11
//布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" android:gravity="center" android:orientation="horizontal"> <ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:background="@drawable/point_mormal" /> <ImageView android:id="@+id/image2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:background="@drawable/point_mormal" /> <ImageView android:id="@+id/image3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:background="@drawable/point_mormal" /> <ImageView android:id="@+id/image4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:background="@drawable/point_mormal" /> <ImageView android:id="@+id/image5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:background="@drawable/point_mormal" /> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentStart="true" android:layout_alignParentTop="true" /></RelativeLayout>//代码如下:package com.example.lenovo.viewpagerdemo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.bumptech.glide.Glide;public class MainActivity extends AppCompatActivity { private ViewPager vp; private String[] images = { "http://l2.51fanli.net//tuan//images//1//5806eac956808.jpg", "http://l2.51fanli.net//tuan//images//b//580991bb30560.jpg", "http://l0.51fanli.net//tuan//images//b//58115f2593dc3.jpg", "http://l2.51fanli.net//tuan//images//0//57923840b054d.jpg", "http://l2.51fanli.net//tuan//images//e//58101e11ab164.jpg"}; private ImageAdapter adapter; private ImageView[] points; private Handler han = new Handler() { @Override public void handleMessage(Message msg) { int i = vp.getCurrentItem(); i++; vp.setCurrentItem(i); send(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); indaview(); points = new ImageView[5]; points[0] = (ImageView) findViewById(R.id.image1); points[1] = (ImageView) findViewById(R.id.image2); points[2] = (ImageView) findViewById(R.id.image3); points[3] = (ImageView) findViewById(R.id.image4); points[4] = (ImageView) findViewById(R.id.image5); vp.setCurrentItem(1000); send(); } public void send() { new Thread() { @Override public void run() { han.sendEmptyMessageDelayed(0, 1500); } }.start(); } private void select(int a) { for (ImageView image : points) { image.setImageResource(R.drawable.point_mormal); } points[a].setImageResource(R.drawable.point_selected); } private void indaview() { vp = (ViewPager) findViewById(R.id.vp); adapter = new ImageAdapter(); vp.setAdapter(adapter); vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { select(position % images.length); } @Override public void onPageScrollStateChanged(int state) { } }); } class ImageAdapter extends PagerAdapter { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(MainActivity.this); Glide.with(MainActivity.this). load(images[position % images.length]). into(imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); container.removeView((View) object); } }}//最后别忘了在AndroidManifest.xml添加网络请求
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
阅读全文
0 0
- ViewPager实现无限轮播+小点点
- ViewPager实现无限轮播+小点点
- ViewPager无限轮播与小点点
- ViewPager无限轮播,下方展示小点
- Viewpager实现小圆点无限轮播
- ViewPager实现无限轮播+小圆点
- viewpager无限轮播+自定义跟随小点(网络请求图片)
- ViewPager实现无限轮播
- ViewPager无限轮播实现
- 轮播图 小点 无限轮播
- ViewPager+小圆点进行无限轮播
- Viewpager自动无限轮播+小圆点
- ViewPager无限轮播+自定义圆点
- ViewPager小圆点无限轮播
- ViewPager加小圆点无限轮播
- viewpager无限轮播、加小圆点
- ViewPager小圆点无限轮播
- ViewPager+小圆点的无限轮播
- spark rdd 自动分区
- 公务员面试之综合分析真题解析2
- Java工程师的一些面试总结(2)
- Merge Intervals问题及解法
- Hdu 2544 最短路
- ViewPager实现无限轮播+小点点
- windows加入域的一些问题
- VS检测内存泄漏
- Spring整合Quartz(JobDetailBean方式)
- Yarn的运行原理(执行流程)
- 经典的生产者与消费者模型(基于synchronized方法实现)
- 多线程
- HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502详解
- CC26xx I2S