ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-23 12:31:34  阅读:177  来源: 互联网

标签:轮播 int ViewPager void iv UIUtils position 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);

标签:轮播,int,ViewPager,void,iv,UIUtils,position,Android
来源: https://blog.csdn.net/m0_66145114/article/details/122649755

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有