MCPcopy Index your code
hub / github.com/androiddevelop/CycleViewPager

github.com/androiddevelop/CycleViewPager @v2.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.0 ↗ · + Follow
96 symbols 210 edges 16 files 44 documented · 46%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CycleViewPager

系统要求

android 4.0(含)以上,Demo下载

快速使用

1. 导入CycleViewPager项目

 compile 'me.codeboy.android:cycle-view-pager:2.0.0'

2. 在layout中引入me.codeboy.android.cycleviewpager.CycleViewPager这个View.

  <me.codeboy.android.cycleviewpager.CycleViewPager
      android:id="@+id/cycleViewPager"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>

3. views创建

// 需要循环的创建方式
 List<View> views = new ArrayList<View>();

views.add(ViewFactory.create("最后一个view"));
for (int i = 0; i < 4; i++) {
    views.add(ViewFactory.create("第i个view");
}
views.add(ViewFactory.create("第一个view"));

 // 不需要循环的创建方式
 List<View> views = new ArrayList<View>();

 for (int i = 0; i < 4; i++) {
     views.add(ViewFactory.create("第i个view");
 }

4. 设置CycleViewPager的views以及滚动与轮播属性

CycleViewPager cycleViewPager = (CycleViewPager)mContext.findFragmentById(R.id.cycleViewPager);


//以下setData参数含义:
//1: 试图 2: 循环(默认true) 3: 轮播(默认false) 4: 轮播时间(默认5000ms)

//循环+轮播,3000ms自动切换
cycleViewPager.setData(views, true, true, 3000);

//只循环,不轮播
cycleViewPager.setData(views, true, false);
cycleViewPager.setData(views, true);
cycleViewPager.setData(views);

//与viewPager相同
cycleViewPager.setData(views, false);

setData请放在最后一步设置。

例子

项目中给出了6个例子,可以直接运行项目或者下载项目中得apk进行查看效果

1. NoCycleTextView

没有滚动的CycleTextView,与ViewPager相同

2. CycleTextView

可以滚动的CycleTextView

3. WheelCycleTextView

可以滚动与自动切换的CycleTextView

4. EventCycleTextView

监听CycleTextView滚动事件和view的点击事件

5. IndicatorCustom1CycleTextView

指示器的颜色、形状、位置的简单变化

6. IndicatorCustom2CycleTextView

自定义的指示器

7. NestedCycleTextView

CycleTextView嵌套在ViewPager中,实现滚动CycleTextView时外层ViewPager不滚动

javadoc文档

在线api文档

注意事项

  • 外层有viewPager时,需要继承me.codeboy.android.cycleviewpager.BaseViewPager。
  • 设置自动播放时,CycleViewPager自动为可循环滚动.滚动是轮播的基础。
  • 自定义指示器时,获取的指示器容器的margin和padding都是0,需要自行根据需要设置。
  • 控件的点击事件请自行设置,多增加的第一个和最后一个控件由于动画时间也请设置事件。CycleViewPager仅提供循环和轮播的机制。
  • 使用中可以忽略添加的两个控件,listener中返回的position为处理后的位置。如果有4个view,名字为view0、view1、view2、view3,设置循环时,传入的views为view3'、view0、view1、view2、view3、view1',返回的position将介于[0,3]之间。

有任何问题,欢迎发送邮件到app@codeboy.me交流.

Extension points exported contracts — how you extend this code

OnPageListener (Interface)
监听器 [4 implementers]
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/CycleViewPager.java

Core symbols most depended-on inside this repo

getView
called by 18
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/util/ViewFactory.java
setData
called by 7
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/CycleViewPager.java
init
called by 3
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/component/IndicatorRect.java
setSelectedPosition
called by 3
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/component/IndicatorRect.java
init
called by 3
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/CycleViewPager.java
setIndicator
called by 3
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/CycleViewPager.java
getCycleViewPagerView
called by 2
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/example/NestCycleTextView.java
setColor
called by 2
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/component/IndicatorRect.java

Shape

Method 77
Class 18
Interface 1

Languages

Java100%

Modules by API surface

cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/CycleViewPager.java32 symbols
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/ParentViewPager.java9 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/example/NestCycleTextView.java9 symbols
cycle-view-pager/src/main/java/me/codeboy/android/cycleviewpager/adapter/CycleViewPagerAdapter.java8 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/component/IndicatorRect.java6 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/adapter/MenuListAdapter.java6 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/example/EventCycleTextView.java5 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/example/IndicatorCustom2CycleTextView.java4 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/base/BaseActivity.java3 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/vh/Menu.java2 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/util/ViewFactory.java2 symbols
cycle-view-pager-example/src/main/java/me/codeboy/android/cycleviewpager/example/example/WheelCycleTextView.java2 symbols

For agents

$ claude mcp add CycleViewPager \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact