介绍
这篇文章将为大家详细讲解有关如何在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>
此时的效果如下,是不是已经有了点模样:
<强> 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实现一个循环播放功能