ViewPager与radiogroup组成轮播和下面的圆点
来源:互联网 发布:日语网络用语 ggk 编辑:程序博客网 时间:2024/06/05 09:57
1,私有化控件
private ViewPager vp;
private RadioGroup rg;
2,handler 里设置无限轮播
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
int currentItem = vp.getCurrentItem();
vp.setCurrentItem(currentItem += 1);
handler.sendEmptyMessageDelayed(0, 3000);
}
};
3主Activity里实现得到viepager的控件ID并设置适配器
设置viewpager的监听方法
private void initadapter() {
// 设置圆点
initdots();
// 设置监听
vp.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
rg.check(arg0 % ad1.size());
}
@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
}
});
vp.setCurrentItem(10000 / 2 - 10000 / 2
% ad1.size());
handler.sendEmptyMessageDelayed(0, 3000);
};
根据viewpager的数量设置要添加的圆点radioGroup
private void initdots() {
// TODO Auto-generated method stub
int wrap = RadioGroup.LayoutParams.WRAP_CONTENT;
RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(wrap, wrap);
params.leftMargin = 5;
for (int i = 0; i < ad1.size(); i++) {
RadioButton rb = new RadioButton(getActivity());
rb.setId(i);
rb.setButtonDrawable(R.drawable.x_dot_selector);
if (i != 0) {
rg.addView(rb, params);
} else {
rg.addView(rb);
}
rg.check(0);
}
}
//viewPager的适配器
Context context;
List<Ad1> ad1;
private BitmapUtils map;
public MyHomePagerAdapter(Context context, List<Ad1> ad1) {
// TODO Auto-generated constructor stub
this.context = context;
this.ad1 = ad1;
map = new BitmapUtils(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 10000;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
//得到网络图片地址
Ad1 ad=ad1.get(position%ad1.size());
String path=ad.getImage();
//得到imageView对象
ImageView iv=new ImageView(context);
LayoutParams params=new LayoutParams();
params.width=LayoutParams.MATCH_PARENT;
params.height=LayoutParams.MATCH_PARENT;
iv.setLayoutParams(params);
iv.setScaleType(ScaleType.FIT_XY);
map.display(iv, path);
container.addView(iv);
return iv;
}
@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
container.removeView((View) object);
}
- ViewPager与radiogroup组成轮播和下面的圆点
- 通过RadioGroup 和ViewPager 以及Handler 实现图片的轮播
- ViewPager+RadioGroup 实现网络加载图片的轮播
- viewpager的无限轮播和小圆点的改变
- viewpager的无限轮播和带点
- ViewPager无限轮播与小点点
- 集成实现ViewPager的无限轮播和圆点变动
- ViewPager+小圆点的无限轮播
- ViewPager轮播小圆点的实现
- ViewPager无限轮播+自定义圆点
- ViewPager轮播 + 小圆点
- 小圆点和Viewpager+fragment实现轮播
- ViewPager的无限轮播,和shape的小圆点使用,及webview显示进度条
- ViewPager加小圆点的无限轮播
- 无限轮播的ViewPager+导航小圆点()
- Viewpager的轮播
- viewpager与radiogroup联动的例子
- ViewPager无限轮播+圆点+GridView数据展示
- Spring的IOC
- CSS切割图片只取图片中一部分
- 1106. Lowest Price in Supply Chain
- 使用SwipeRefreshLayout自动刷新页面
- Android总结篇系列:Activity启动模式(lauchMode)
- ViewPager与radiogroup组成轮播和下面的圆点
- 基于Konva.js的canvas动画
- 新篇章
- Android Studio 2.2 正式起航
- Java面试基础部分(1)
- 【50.54%】【BZOJ 1879】[Sdoi2009]Bill的挑战
- Python--常用语句
- 【AngularJS: Up & Running】第04章_表单、输入和服务
- iOS – Quartz2D & CALayer & CAShapeLayer