栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android ViewPager+轮播图,android开发应用实战详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android ViewPager+轮播图,android开发应用实战详解

v.setBackgroundResource(R.drawable.indicator_selected);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(UIUtils.dip2px(6), UIUtils.dip2px(6));// dp

// -->

// px

if (i != 0) {

params.leftMargin = UIUtils.dip2px(8);

params.bottomMargin = UIUtils.dip2px(8);

} else {

v.setBackgroundResource(R.drawable.indicator_normal);// 设置默认选中

}

mPointContainer.addView(v, params);

5.2 MAX_VALUE / 3、middle % 3表示第一个小黑点是默认的

// 给ViewPager设置中间选中的值

int middle = Integer.MAX_VALUE / 3;

int extra = middle % 3;

mViewPaper.setCurrentItem(middle - extra);

5.3 轮播图延迟时间,看看下面理解

//自动播放广告栏任务

class AutoSwitchTask implements Runnable {

// 开始轮播

public void start() {

stop();

UIUtils.postDelayed(this, 10000);//“10000”表示轮播图的第一图片开始延迟时间后轮播

}

// 停止轮播

public void stop() {

UIUtils.removeCallbacks(this);

}

@Override

public void run() {

// 让ViewPager选中下一个

int item = mViewPaper.getCurrentItem();

mViewPaper.setCurrentItem(++item);

UIUtils.postDelayed(this, 5000);//“5000”表示每一个图片延迟时间后轮播

}

}

5.4 给容器添加三个轮播图,看看下面理解

@Override

public Object instantiateItem(ViewGroup container, int position) {

position = position % 3;//三个轮播图

ImageView iv = new ImageView(MainActivity.this);

iv.setScaleType(ImageView.ScaleType.FIT_XY);

// 给iv设置数据

iv.setImageResource(R.drawable.image1);// 设置默认图片

// 设置网络图片

if (position == 0) {

iv.setImageResource(R.drawable.image1);//第一个轮播图

// BitmapHelper.display(iv,R.drawable.image1 );

} else if (position == 1){

iv.setImageResource(R.drawable.image2);//第二个轮播图

}else {

iv.setImageResource(R.drawable.image3);//第三个轮播图

}

// BitmapHelper.display(iv, AppConfig.IMAGE_base_UR
L + roastingDatas.get(position).get(“ID”));

final int finalPosition = position;

iv.setonClickListener(new View.onClickListener() {

@Override

public void onClick(View v) {

roastingPictureClick(finalPosition);

}

});

// 给viewpager加视图

container.addView(iv);

return iv;

}

5.5 轮播图点击事件,代码如下:

//轮播图点击

private void roastingPictureClick(int position) {

Toast.makeText(this, “轮播图点击:” + position, Toast.LENGTH_SHORT).show();

}

5.6 三个小点,一个小黑点,二个小白点

@Override

public void onPageSelected(int position) {

// 页面选中时

position = position % 3;

int count = mPointContainer.getChildCount();

for (int i = 0; i < count; i++) {

View view = mPointContainer.getChildAt(i);
ublic void onPageSelected(int position) {

// 页面选中时

position = position % 3;

int count = mPointContainer.getChildCount();

for (int i = 0; i < count; i++) {

View view = mPointContainer.getChildAt(i);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716871.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号