自动轮播
来源:互联网 发布:淘宝卖家电话采集软件 编辑:程序博客网 时间:2024/05/24 02:54
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private ViewPager viewpager;
private LinearLayout ll_ring;
private ArrayList<ImageView> ring;
private ArrayList<ImageView> image;
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
viewpager.setCurrentItem(viewpager.getCurrentItem()+1);
handler.sendEmptyMessageDelayed(0, 2000);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化界面
initView();
//初始化数据
initData();
//viewpager的适配
viewpager.setAdapter(new MyAdapter());
//viewpager的滑动
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
int newPosition = arg0%ring.size();
for (int i = 0; i < ring.size(); i++) {
ring.get(i).setSelected(true);
}
ring.get(newPosition).setSelected(false);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
//自动轮播
autoPlay();
}
//自动轮播
private void autoPlay() {
handler.sendEmptyMessageDelayed(0, 2000);
}
//初始化数据
private void initData() {
ring = new ArrayList<ImageView>();
image = new ArrayList<ImageView>();
int[] img = new int[]{R.drawable.aaa,R.drawable.bbb,R.drawable.ccc,R.drawable.ddd};
for (int i = 0; i < img.length; i++) {
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(img[i]);
imageView.setScaleType(ScaleType.CENTER_CROP);
image.add(imageView);
ImageView imageView2 = new ImageView(MainActivity.this);
imageView2.setImageResource(R.drawable.ring);
imageView2.setPadding(5, 5, 5, 5);
ring.add(imageView2);
ll_ring.addView(imageView2);
}
ring.get(0).setSelected(true);
}
class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
int newposition = position%image.size();
ImageView view = image.get(newposition);
container.addView(view);
return view;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
int newposition = position%image.size();
container.removeView(image.get(newposition));
}
}
// 初始化界面
private void initView() {
viewpager = (ViewPager) findViewById(R.id.viewpager);
ll_ring = (LinearLayout) findViewById(R.id.ll_ring);
}
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private ViewPager viewpager;
private LinearLayout ll_ring;
private ArrayList<ImageView> ring;
private ArrayList<ImageView> image;
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
viewpager.setCurrentItem(viewpager.getCurrentItem()+1);
handler.sendEmptyMessageDelayed(0, 2000);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化界面
initView();
//初始化数据
initData();
//viewpager的适配
viewpager.setAdapter(new MyAdapter());
//viewpager的滑动
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
int newPosition = arg0%ring.size();
for (int i = 0; i < ring.size(); i++) {
ring.get(i).setSelected(true);
}
ring.get(newPosition).setSelected(false);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
//自动轮播
autoPlay();
}
//自动轮播
private void autoPlay() {
handler.sendEmptyMessageDelayed(0, 2000);
}
//初始化数据
private void initData() {
ring = new ArrayList<ImageView>();
image = new ArrayList<ImageView>();
int[] img = new int[]{R.drawable.aaa,R.drawable.bbb,R.drawable.ccc,R.drawable.ddd};
for (int i = 0; i < img.length; i++) {
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(img[i]);
imageView.setScaleType(ScaleType.CENTER_CROP);
image.add(imageView);
ImageView imageView2 = new ImageView(MainActivity.this);
imageView2.setImageResource(R.drawable.ring);
imageView2.setPadding(5, 5, 5, 5);
ring.add(imageView2);
ll_ring.addView(imageView2);
}
ring.get(0).setSelected(true);
}
class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
int newposition = position%image.size();
ImageView view = image.get(newposition);
container.addView(view);
return view;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
int newposition = position%image.size();
container.removeView(image.get(newposition));
}
}
// 初始化界面
private void initView() {
viewpager = (ViewPager) findViewById(R.id.viewpager);
ll_ring = (LinearLayout) findViewById(R.id.ll_ring);
}
0 0
- 自动轮播图
- 自动轮播
- 自动轮播条
- 自动轮播
- ViewPager自动轮播
- 自动轮播
- 自动轮播
- viewpage自动轮播
- ViewPager自动轮播
- 自动轮播
- Banner自动轮播
- viewpager自动轮播
- 图片自动轮播
- 自动轮播+RadioGroup
- 图片自动轮播
- 自动轮播
- 12自动轮播
- 图片自动轮播
- iOS网络监控— BMReachability
- mybatis系列-简介以及入门(一)
- Maven的常见问题
- 《从零开始学Swift》学习笔记(Day 50)——扩展计算属性、方法
- Liferay控制台Connect to www.google.com timed out
- 自动轮播
- Error occurred during initialization of VM Could not reserve enough space for object heap Could not
- 为什么集成测试比单元测试更重要
- DVWA安装后File Inclusion出现问题The PHP function allow_url_include is not enabled.
- HDU1072 Nightmare(广搜BFS+优先队列)
- Runable和thread的区别(多线程必须用Runable)
- Leetcode Repeated DNA Sequences
- Web.config 文件 authentication 元素
- XML Schema