如何在Android中利用:viewpage实现一个循环播放功能

  介绍

这篇文章将为大家详细讲解有关如何在Android中利用:viewpage实现一个循环播放功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> 1。初始化布局

我们先来写一个:viewpage广告条的布局:

& lt; RelativeLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:才能layout_width=癿atch_parent"   android:才能layout_height=癿atch_parent"比;   & lt; android.support.v4.view.ViewPager才能   ,,,android: id=癅 + id/vp"   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=?10 dp"/比;   ,& lt; LinearLayout   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=皐rap_content"   ,,,android: layout_alignBottom=癅 id/vp"   ,,,android:背景=? 55000000“;   ,,,android:重力=癱enter_horizontal"   ,,,android:取向=皏ertical"   ,,,android:填充=? dp"比;   ,,,& lt; TextView   ,,,,,android: id=癅 + id/tv_img_desc"   ,,,,,android: layout_width=皐rap_content"   ,,,,,android: layout_height=皐rap_content"   ,,,,,android:文本=罢饫锸枪愀姹晏狻?   ,,,,,android:输入textColor=? ffffff"   ,,,,,android: textSize=?6 sp"/比;   ,,,& lt; !——,动态添加小圆点,用一个水平的线性布局,——比;   ,,,& lt; LinearLayout   ,,,,,android: id=癅 + id/ll_dot_group"   ,,,,,android: layout_width=皐rap_content"   ,,,,,android: layout_height=皐rap_content"   ,,,,,android:取向=癶orizontal"/比;   & lt;才能/LinearLayout>   & lt;/RelativeLayout>

此时的效果如下,是不是已经有了点模样:

如何在Android中利用:viewpage实现一个循环播放功能

<强> 2。活动实现

接下来进入到关键的实现代码,当然,活动实现也难不倒我们,其中:viewpage数据,为了方便,本篇就直接用本地数据进行模拟了。而在实际项目开发数据大都来自网络。

public  class  MainActivity  extends  AppCompatActivity  implements  ViewPager.OnPageChangeListener  {      private 才能;List< ImageView>, vpLists;   private 才能;LinearLayout  ll_dot_group;,//用来添加小圆点   private 才能,String [], imageDescArrs;   private 才能;TextView  tv_img_desc;   private 才能ViewPager 副总裁;      private 才能boolean  isSwitchPager =,假的,,//默认不切换   private 才能int  previousPosition =, 0;,//默认为0      private 才能Handler  Handler =, new 处理程序(),{   ,,,public  void  handleMessage (android.os.Message 味精),{   ,,,,,//更新当前:viewpage的,要显示的当前条目   ,,,,,vp.setCurrentItem (vp.getCurrentItem (), +, 1);   ,,,}   ,,};      @Override才能   protected 才能;void  onCreate (Bundle  savedInstanceState), {   ,,,super.onCreate (savedInstanceState);   ,,,setContentView (R.layout.activity_main);   ,,,initView ();   ,,}      ,/* *   ,,*,初始化视图   ,,*/private 才能;void  initView (), {   ,,,vp =, (: viewpage), findViewById (R.id.vp);   ,,,ll_dot_group =, (LinearLayout), findViewById (R.id.ll_dot_group);   ,,,tv_img_desc =, (TextView), findViewById (R.id.tv_img_desc);      ,,,initViewPagerData ();   ,,,vp.setAdapter (new  ViewpagerAdapter ());      ,,,//设置当前:viewpage要显示第几个条目   ,,,int  item =, Integer.MAX_VALUE /, 2,安康;(时间/Integer.MAX_VALUE  2, %, vpLists.size ());   ,,,vp.setCurrentItem(项);      ,,,//把第一个小圆点设置为白色,显示第一个textview内容   ,,,ll_dot_group.getChildAt (previousPosition) .setEnabled(真正的);   ,,,tv_img_desc.setText (imageDescArrs [previousPosition]);   ,,,//设置:viewpage滑动的监听事件   ,,,vp.addOnPageChangeListener(这个);      ,,,//实现自动切换的功能   ,,,new 线程(),{   ,,,,,public  void 运行(),{   ,,,,,,,while  (! isSwitchPager), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Android中利用:viewpage实现一个循环播放功能