无限轮播加点
来源:互联网 发布:c语言多线程编程vs 编辑:程序博客网 时间:2024/04/28 04:25
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
public class MainActivity extends Activity {
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
int index = msg.what;
viewPager.setCurrentItem(index -= 1);
int i = viewPager.getCurrentItem();
handler.sendEmptyMessageDelayed(i, 2000);
};
};
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> list = new ArrayList<String>();
list.add("http://t12.baidu.com/it/u=176596478,1719464859&fm=59");
list.add("http://t10.baidu.com/it/u=4010714787,2970343447&fm=59");
list.add("http://t11.baidu.com/it/u=2520234337,3270250852&fm=59");
list.add("http://t10.baidu.com/it/u=2395220391,4053197141&fm=59");
viewPager = (ViewPager) findViewById(R.id.viewPager);
// 5 - 5%4
// int current =10/2 - 10/2%list.size();
int current = Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2
% list.size();
viewPager.setAdapter(new MyPagerAdpter(this, list));
viewPager.setCurrentItem(current);
int currentItem = viewPager.getCurrentItem();
handler.sendEmptyMessageDelayed(currentItem, 2000);
}
}
适配器
/**
*
*/
package com.example.day_15_;
import java.util.List;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.lidroid.xutils.BitmapUtils;
/**
* @author WJL
*
*/
public class MyPagerAdpter extends PagerAdapter {
// List<String> urls;
List<ImageView> urls;
Context context;
/* public MyPagerAdpter(Context context, List<String> urls) {
this.urls = urls;
this.context = context;
}*/
public MyPagerAdpter(Context context, List<ImageView> urls) {
this.urls = urls;
this.context = context;
}
@Override
// 实例化条目
public Object instantiateItem(ViewGroup container, int position) {
Log.i("http_", position+"");
//ImageView imageView = new ImageView(context);
// BitmapUtils bitmapUtils = new BitmapUtils(context);
// bitmapUtils.display(imageView, urls.get(position%urls.size()));
ImageView imageView=urls.get(position%urls.size());
if(imageView.getParent()==null){
container.addView(imageView);
}else{
container.removeView(imageView);
container.addView(imageView);
}
return imageView;
// container.addView(imageView);
// return imageView;
}
@Override
// 总数
public int getCount() {
// TODO Auto-generated method stub
// return urls.size();
return Integer.MAX_VALUE;
// return 10;
}
@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);
container.removeView((View) object);
}
}
XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="200dp" >
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/linearLayout"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:background="#f00"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/> -->
</LinearLayout>
</LinearLayout>
enabled_false.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<size
android:height="5dp"
android:width="5dp" />
<solid android:color="#808080" />
</shape>
enabled_true
<?xml version="1.0" encoding="utf-8"?>
<!-- android:shape 控制形状-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<!-- 控制宽高-->
<size android:width="5dp" android:height="5dp"/>
<!-- 设置颜色 -->
<solid android:color="#ffffff"/>
</shape>
point_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/enabled_true" android:state_enabled="true"></item>
<item android:drawable="@drawable/enabled_false" android:state_enabled="false"></item>
</selector>
- 无限轮播加点
- 加点,无限轮播
- 无限轮播加点
- viewpager无限轮播加点
- 无限轮播2自动加点
- ViewPger的无限轮播 自动轮播 和加点
- 轮播加点
- XListview 添加头布局 并实现加点自动无限轮播
- Banner的简单实现 (实现无限自动轮播加点)
- viewpager无限轮播
- Viewpager无限轮播
- 无限轮播
- 图片无限轮播
- 无限轮播
- Viewpager无限轮播
- ViewPager无限轮播
- 无限轮播
- 无限轮播
- NSString+GetPath 类别
- 文章标题
- 1016. Phone Bills (25)
- LeetCode OJ 8.String to Integer (atoi)
- Android View上绘制图形和图片的总结
- 无限轮播加点
- 欢迎使用CSDN-markdown编辑器
- Java 反射机制浅析
- BC16&&hdoj5086&&hdoj5087
- 当所有大小公司都在用GitHub时,你需要这项技能!
- java程序实现打印完美对齐的杨辉三角形
- 图像处理与计算机视觉基础,经典以及最近发展
- UVA 12716(p318)----GCD XOR
- Linux内核分析——x86汇编基础