android图片轮播效果viewPager
来源:互联网 发布:吉他弹唱录音软件 编辑:程序博客网 时间:2024/05/22 06:53
利用viewPager 和OnPageChangeListener实现轮播图的效果:
主要代码:
public class MainActivity extends Activity implements OnPageChangeListener{
private ViewPager viewPager;
private ViewPagerAdapter adapter;
private ImageView img1;
private ImageView img2;
private ImageView img3;
private List<ImageView> showIv;
private List<ImageView> showIvbottom;
private int currentPosition;
private Handler handler;
private boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setView();
handler = new Handler();
new InnerThread().start();
}
/**
* 初始化各种控件
*/
private void setView(){
flag = true;
currentPosition = 0;
showIv = new ArrayList<ImageView>();
showIvbottom = new ArrayList<ImageView>();
img1 = (ImageView) findViewById(R.id.image1);
showIvbottom.add(img1);
img2 = (ImageView) findViewById(R.id.image2);
showIvbottom.add(img2);
img3 = (ImageView) findViewById(R.id.image3);
showIvbottom.add(img3);
ImageView iv1 = new ImageView(this);
iv1.setImageResource(R.drawable.a);
showIv.add(iv1);
ImageView iv2 = new ImageView(this);
iv2.setImageResource(R.drawable.b);
showIv.add(iv2);
ImageView iv3 = new ImageView(this);
iv3.setImageResource(R.drawable.d);
showIv.add(iv3);
viewPager = (ViewPager) findViewById(R.id.vw_Pager);
adapter = new ViewPagerAdapter(showIv);
viewPager.setOnPageChangeListener(this);
viewPager.setAdapter(adapter);
}
/**
* 设置ViewPager的监听器 当图片上面的图片改变时 下边的点也要跟着改变
*/
@Override
public void onPageSelected(int arg0) {
setImageButtom(arg0);
currentPosition = arg0;
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
/**
* 改变图片下边的点
*/
private void setImageButtom(int arg0){
for(int i=0;i<showIvbottom.size();i++){
if(arg0%showIvbottom.size()==i){
showIvbottom.get(i).setImageResource(R.drawable.adware_style_selected);
}else{
showIvbottom.get(i).setImageResource(R.drawable.adware_style_default);
}
}
}
/**
* 实现Runnable接口
*/
private class InnerRunnable implements Runnable{
@Override
public void run() {
int i = currentPosition%3;
viewPager.setCurrentItem(i);
currentPosition++;
}
}
/**
* 开启工作线程
*/
private class InnerThread extends Thread{
@Override
public void run() {
if(flag){
while(true){
Message.obtain(handler, new InnerRunnable()).sendToTarget();
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
flag = false;
}
}
界面效果:
- android图片轮播效果viewPager
- Android Viewpager实现图片轮播(仿优酷效果)
- Android Viewpager实现图片轮播(仿优酷效果)
- Android之利用Viewpager实现图片的轮播效果
- android 图片轮播 viewpager
- Android ViewPager图片轮播
- android-ViewPager的轮播效果
- ViewPager轮播效果
- Android图片轮播 ViewPager ImageView
- Android ViewPager控件实现图片轮播
- Android ViewPager控件实现图片轮播
- Android ViewPager控件实现图片轮播
- Android ViewPager实现的图片轮播
- Android:ViewPager图片轮播自学
- android viewPager实现轮播效果一(本地图片篇)
- 在Android studio中使用viewpager创建出图片轮播效果
- Android中ViewPager的使用(二):实现图片轮播效果
- Android中ViewPager实现图片的定时轮播效果(设置Integer.MAX_VALUE)
- 关于Android中添加id
- Ultra-QuickSort
- CocoaPods安装和使用详细说明
- 剑指offer 栈的压入、弹出序列
- Hdu oj 1232 畅通工程(并查集)
- android图片轮播效果viewPager
- httpclient4.x 使用连接池发送https请求
- 集合可变
- tomcat catalina.out 日志分割
- MapReduce怎样实现二级排序
- libpng warning: iCCP: Not recognizing known sRGB profile that has been edited问题的解决
- 【Android】Ant打包签名时中文alias怎么办
- JS parseFloat用法及精度问题
- TCP的拥塞控制