Android—( RollViewPager)图片轮播

                      RollViewPager其实就是我们常常看到的的Android图片轮换一个开源控件,这个控件是别人封装好的我们导入它的内库就可直接使用的,开发起来特别好用,也特别简单,不用我们去写一堆代码。

             支持无限循环。 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放。 看起来就像这样。指示器可以为点可以为数字还可以自定义,位置也可以变。

           效果图:

                              默认效果:      

                             调整位置:

                                 数字式:

使用步骤:

   步骤一:在项目的build.gradle 里面添加内库


 步骤二:在xml布局文件中使用控件

    <com.jude.rollviewpager.RollPagerView
    android:id="@+id/roll_view_pager"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    app:rollviewpager_hint_paddingLeft="360dp"
    />
   默认属性:

      app:rollviewpager_hint_gravity="center"

    指示器位置,提供left,center,right。默认center(不写也可以)

  自定义属性:
   ① app:rollviewpager_play_delay="3000"

         播放间隔时间,单位ms。填0则不播放。默认为0

   ② app:rollviewpager_hint_color="#7c7c7c"

         指示器背景颜色.默认黑色

   ③ app:rollviewpager_hint_alpha="80"

        指示器背景透明度。0全透明,255不透明。默认为0

   ④ app:rollviewpager_hint_paddingLeft="16dp"

        指示器左边距

   ⑤ app:rollviewpager_hint_paddingRight="16dp"

        指示器右边距

   ⑥ app:rollviewpager_hint_paddingTop="16dp"

       指示器上边距

   ⑦ app:rollviewpager_hint_paddingBottom="16dp"

       指示器下边距

注意:在要使用到RollViewPager自定义属性的时候,在布局文件当中我们必须添加:

    xmlns:app="http://schemas.android.com/apk/res-auto


    步骤三:写Java代码
package e_life.com.testmodel;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;

import com.jude.rollviewpager.RollPagerView;
import com.jude.rollviewpager.adapter.LoopPagerAdapter;
import com.jude.rollviewpager.adapter.StaticPagerAdapter;
import com.jude.rollviewpager.hintview.ColorPointHintView;
import com.jude.rollviewpager.hintview.TextHintView;

public class MainActivity extends AppCompatActivity {
    private RollPagerView mRollViewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRollViewPager = (RollPagerView) findViewById(R.id.roll_view_pager);
        //设置播放时间间隔
        mRollViewPager.setPlayDelay(2000);
        //设置透明度
        mRollViewPager.setAnimationDurtion(500);
        //设置适配器
        mRollViewPager.setAdapter(new TestNormalAdapter(mRollViewPager));
        //自定义指示器图片
        //mRollViewPager.setHintView(new IconHintView(this, R.drawable.point_focus, R.drawable.point_normal));
        //设置圆点指示器颜色
        mRollViewPager.setHintView(new ColorPointHintView(this, Color.YELLOW,Color.WHITE));
        //设置文字指示器
//       mRollViewPager.setHintView(new TextHintView(this));
       //隐藏指示器
        //mRollViewPager.setHint View(null);
    }
    private class TestNormalAdapter extends LoopPagerAdapter {
        private int[] imgs = { //轮播的图片
                R.drawable.title02,
                R.drawable.title05,
                R.drawable.title06,
                R.drawable.title03,
                R.drawable.title04,
        };
        public TestNormalAdapter(RollPagerView viewPager) {
            super(viewPager);
        }


        @Override
        public View getView(ViewGroup container, final int position) {
            ImageView view = new ImageView(container.getContext());
            view.setImageResource(imgs[position]);
            view.setScaleType(ImageView.ScaleType.CENTER_CROP);
            view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) { //点击事件   具体点击了哪一张图片的下标
                    Toast.makeText(MainActivity.this, ""+position, Toast.LENGTH_SHORT).show();
                }
            });

            return view;
        }

        @Override
        protected int getRealCount() {
            return imgs.length;
        }
    }
}
 

       最后,博客中可能还有很多没有讲到的东西,可以去geihub里面去看原创的,可以去 学习一下,里面还有对以前版本的bug的修复。地址:https://github.com/Jude95/RollViewPager























  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值