ViewPager
来源:互联网 发布:剑三dbm数据怎么删除 编辑:程序博客网 时间:2024/06/11 04:29
package com.example.viewpage;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
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.LinearLayout;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
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.LinearLayout;
public class MainActivity extends Activity {
private ViewPager vp;
private LinearLayout ll;
private List<ImageView> imagelist;
private List<View> dalist;
private int oldpro = 0;
private int count = 0;
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
vp.setCurrentItem(count);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initdata();
setViewPagerAdapter();
autoplay();
}
public void initView() {
vp = (ViewPager) findViewById(R.id.vp);
ll = (LinearLayout) findViewById(R.id.ll);
}
public void initdata() {
imagelist = new ArrayList<ImageView>();
dalist = new ArrayList<View>();
ImageView imageView1 = new ImageView(this);
imageView1.setBackgroundResource(R.drawable.i);
ImageView imageView2 = new ImageView(this);
imageView2.setBackgroundResource(R.drawable.n);
ImageView imageView3 = new ImageView(this);
imageView3.setBackgroundResource(R.drawable.o);
ImageView imageView4 = new ImageView(this);
imageView4.setBackgroundResource(R.drawable.p);
imagelist.add(imageView1);
imagelist.add(imageView2);
imagelist.add(imageView3);
imagelist.add(imageView4);
for (int i = 0; i < imagelist.size(); i++) {
View view = new View(this);
view.setLayoutParams(new LinearLayout.LayoutParams(50, 50));
dalist.add(view);
private ViewPager vp;
private LinearLayout ll;
private List<ImageView> imagelist;
private List<View> dalist;
private int oldpro = 0;
private int count = 0;
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
vp.setCurrentItem(count);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initdata();
setViewPagerAdapter();
autoplay();
}
public void initView() {
vp = (ViewPager) findViewById(R.id.vp);
ll = (LinearLayout) findViewById(R.id.ll);
}
public void initdata() {
imagelist = new ArrayList<ImageView>();
dalist = new ArrayList<View>();
ImageView imageView1 = new ImageView(this);
imageView1.setBackgroundResource(R.drawable.i);
ImageView imageView2 = new ImageView(this);
imageView2.setBackgroundResource(R.drawable.n);
ImageView imageView3 = new ImageView(this);
imageView3.setBackgroundResource(R.drawable.o);
ImageView imageView4 = new ImageView(this);
imageView4.setBackgroundResource(R.drawable.p);
imagelist.add(imageView1);
imagelist.add(imageView2);
imagelist.add(imageView3);
imagelist.add(imageView4);
for (int i = 0; i < imagelist.size(); i++) {
View view = new View(this);
view.setLayoutParams(new LinearLayout.LayoutParams(50, 50));
dalist.add(view);
if (i == 0) {
dalist.get(i).setBackgroundResource(
R.drawable.btn_radio_on_holo_dark);
} else {
dalist.get(i).setBackgroundResource(
R.drawable.btn_radio_on_disabled_holo_dark);
}
ll.addView(dalist.get(i));
}
}
public void setViewPagerAdapter() {
vp.setAdapter(new MyPagerAdapter());
vp.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int pro) {
// TODO Auto-generated method stub
dalist.get(pro % imagelist.size()).setBackgroundResource(
R.drawable.btn_radio_on_holo_dark);
dalist.get(oldpro % imagelist.size()).setBackgroundResource(
R.drawable.btn_radio_on_disabled_holo_dark);
oldpro = pro;
}
@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
}
});
}
public class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@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) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
ImageView imageview = imagelist.get(position % imagelist.size());
ViewPager pager = (ViewPager) imageview.getParent();
if (pager != null) {
pager.removeView(imageview);
}
container.addView(imageview);
return imageview;
}
}
public void autoplay() {
new Thread() {
public void run() {
while (true) {
try {
SystemClock.sleep(3000);
count++;
handler.sendEmptyMessage(0);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
}.start();
}
}
dalist.get(i).setBackgroundResource(
R.drawable.btn_radio_on_holo_dark);
} else {
dalist.get(i).setBackgroundResource(
R.drawable.btn_radio_on_disabled_holo_dark);
}
ll.addView(dalist.get(i));
}
}
public void setViewPagerAdapter() {
vp.setAdapter(new MyPagerAdapter());
vp.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int pro) {
// TODO Auto-generated method stub
dalist.get(pro % imagelist.size()).setBackgroundResource(
R.drawable.btn_radio_on_holo_dark);
dalist.get(oldpro % imagelist.size()).setBackgroundResource(
R.drawable.btn_radio_on_disabled_holo_dark);
oldpro = pro;
}
@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
}
});
}
public class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@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) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
ImageView imageview = imagelist.get(position % imagelist.size());
ViewPager pager = (ViewPager) imageview.getParent();
if (pager != null) {
pager.removeView(imageview);
}
container.addView(imageview);
return imageview;
}
}
public void autoplay() {
new Thread() {
public void run() {
while (true) {
try {
SystemClock.sleep(3000);
count++;
handler.sendEmptyMessage(0);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
}.start();
}
}
0 0
- Viewpager
- ViewPager
- ViewPager
- ViewPager
- ViewPager
- ViewPager
- viewpager
- ViewPager
- ViewPager
- ViewPager
- Viewpager
- viewpager
- ViewPager
- ViewPager
- ViewPager
- viewpager
- ViewPager
- ViewPager
- python-enumerate枚举函数
- 面试中常见的字符串库函数编程
- Android Theme设置背景图片,底部被导航栏遮盖
- js入门(2)-window
- mm_struct
- ViewPager
- 三维点云配准
- jquery图片轮播
- 推箱子
- 一个基于JavaScript的简单网页计算器
- 【LeetCode】Friend Circles 解题报告
- Oracle 树查询总结
- 转-权限管理数据库设计
- 34. Search for a Range Medium