android 图片轮播

本文介绍了如何在Android中使用自定义控件、ViewPager和Handler来实现简单的图片轮播功能。通过定义相关变量,初始化代码,绘制图片,创建图片adapter,绘制圆点,设置自动滚动以及监听滑动事件来处理用户交互。自定义控件包括图片adapter和圆点列表,通过Handler实现自动轮播,并处理手动滑动与自动滑播的冲突。提供了自定义控件的XML布局和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,简单讲讲Android图片轮播功能。

其实图片轮播功能就是使用ViewPager和Handler,网上查找了资料,把这个简单的问题写的很复杂。其实一个自定义控件完全可以解决。这里直接上代码,不在做过多的讲解了。有问题的可以提问,我看到后会尽量回复。

一.定义相关变量

private final int DELAY_TIME = 3000;//自动轮播时间
private List<String> mUrls;
private List<ImageView> mViewpagerViews;  //轮播图片的列表
private List<ImageView> mDotImageviews;   //轮播圆点的列表
private Context context;
private int size;//圆点的大小
private int margin;//圆点的间距
private int count;//viewpager中view的数量
private ViewPager mViewPager;
private LinearLayout mDotlayout;//圆点布局
private MyPager mPagerAdapter;

private int currentItem;//当前viewpager索引
private Handler handler = new Handler();
private BannerClicklistener mBannerClicklistener;

2.初始化代码

private void init(Context context, AttributeSet attrs) {
        this.context = context;
        mUrls = new ArrayList<>();
        mViewpagerViews = new ArrayList<>();
        mDotImageviews = new ArrayList<>();
        //拿到自定义的属性数组
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Banner);
        //得到数组里的自定义的size(圆点大小)
        size = typedArray.getDimensionPixelSize(R.styleable.Banner_size, 10);
        //得到数组里的自定义的margin(圆点间距)
        margin = typedArray.getDimensionPixelSize(R.styleable.Banner_margin, 10);

        typedArray.recycle();//通知jvm的垃圾回收器,当你回收对象的时候,一定要把我回收了


        View view = LayoutInflater.from(context).inflate(R.layout.banner_layout, this, tr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值