android 图片轮播

今天,简单讲讲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, true);
//        addView(view);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值