LitePager,一个轻量级的ViewPager,仿新版网易云歌单广场
https://blog.csdn.net/u011387817/article/details/89142467
博客详情:使用方式:
添加依赖:
implementation 'com.wuyr:litepager:1.2.1'
APIs:
Method | Description |
---|---|
addViews(int... layouts) | 批量添加子View |
addViews(View... views) | 批量添加子View |
setSelection(View target) | 选中指定子View |
setSelection(int index) | 根据索引选中子View |
setOrientation(int orientation) | 设置方向(默认: ORIENTATION_HORIZONTAL): ORIENTATION_HORIZONTAL(水平) ORIENTATION_VERTICAL(垂直) |
setFlingDuration(long duration) | 设置动画的时长 |
setTopScale(float scale) | 设置顶层缩放比例 |
setTopAlpha(float alpha) | 设置顶层不透明度 |
setMiddleScale(float scale) | 设置中层缩放比例 |
setMiddleAlpha(float alpha) | 设置中层不透明度 |
setBottomScale(float scale) | 设置底层缩放比例 |
setBottomAlpha(float alpha) | 设置底层不透明度 |
setOnScrollListener(OnScrollListener listener) | 设置滚动状态监听: STATE_IDLE(静止状态) STATE_DRAGGING_LEFT(向左拖动) STATE_DRAGGING_RIGHT(向右拖动) STATE_DRAGGING_TOP(向上拖动) STATE_DRAGGING_BOTTOM(向下拖动) STATE_SETTLING_LEFT(向左调整) STATE_SETTLING_RIGHT(向右调整) STATE_SETTLING_TOP(向上调整) STATE_SETTLING_BOTTOM(向下调整) |
setOnItemSelectedListener(SelectedListener listener) | 设置子View被选中的监听 |
getSelectedChild() | 获取当前选中的子View |
Attributes:
Name | Format | Description |
---|---|---|
orientation | enum (默认: horizontal) horizontal(水平) vertical(垂直) |
方向 |
flingDuration | integer | 动画时长 |
topScale | float (默认: 1) | 设置顶层缩放比例 |
topAlpha | float (默认: 1) | 设置顶层不透明度 |
middleScale | float (默认: 0.8) | 设置中层缩放比例 |
middleAlpha | float (默认: 0.4) | 设置中层不透明度 |
bottomScale | float (默认: 0.6) | 设置底层缩放比例 |
bottomAlpha | float (默认: 0.2) | 设置底层不透明度 |
添加子View方式:
XML
<com.wuyr.litepager.LitePager
android:layout_width="match_parent"
android:layout_height="wrap_content">
<View
android:layout_width="150dp"
android:layout_height="200dp"
android:background="#F00" />
<View
android:layout_width="150dp"
android:layout_height="200dp"
android:background="#0F0"/>
<View
android:layout_width="150dp"
android:layout_height="200dp"
android:background="#00F"/>
</com.wuyr.litepager.LitePager>
或者
LitePager litePager = ...;
View child1 = ...;
View child2 = ...;
View child3 = ...;
//直接添加子View
litePager.addViews(child1, child2, child3);
//或者通过布局添加
litePager.addViews(R.layout.view_child1, R.layout.view_child2, R.layout.view_child3);