Android—( RollViewPager)图片轮播

xiaoxiao2021-02-28  112

                      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

转载请注明原文地址: https://www.6miu.com/read-20598.html

最新回复(0)