# LitePager **Repository Path**: android6/LitePager ## Basic Information - **Project Name**: LitePager - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-19 - **Last Updated**: 2021-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## LitePager,一个轻量级的ViewPager,仿新版网易云歌单广场 ### 博客详情: ### 使用方式: #### 添加依赖: ``` implementation 'com.wuyr:litepager:1.3.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| |setAutoScrollEnable(boolean enable) |设置是否开启自动轮播 (默认: false)| |setAutoScrollInterval(long interval) |设置自动轮播的间隔 (默认: 5000 ms)| |setAutoScrollOrientation(int orientation) |设置自动轮播的方向(默认: SCROLL_ORIENTATION_LEFT):
**SCROLL_ORIENTATION_LEFT**(向左滚动)
**SCROLL_ORIENTATION_RIGHT**(向右滚动)
**SCROLL_ORIENTATION_UP**(向上滚动)
**SCROLL_ORIENTATION_DOWN**(向下滚动)
| |setAdapter(Adapter adapter)|使用Adapter来添加子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)|**底层**不透明度| |autoScroll|boolean (默认: false)|是否开启自动轮播| |autoScrollInterval|float (默认: 5000)|自动轮播的间隔| |autoScrollOrientation|enum (默认: left)
**left**(向左滚动)
**right**(向右滚动)
**up**(向上滚动)
**down**(向下滚动)|自动轮播的方向| ### 添加子View方式: #### 1. XML ```xml ``` #### 2. 批量添加 ```java LitePager litePager = ...; View child1 = ...; View child2 = ...; View child3 = ...; litePager.addViews(child1, child2, child3); ``` #### 3. 通过布局添加 ```java litePager.addViews( R.layout.view_child1 R.layout.view_child2, R.layout.view_child3 ); ``` #### 4. 设置适配器 **示例:** Item布局: ```xml ``` Java代码: ```java litePager.setAdapter(new Adapter() { private List mData = new ArrayList<>(Arrays.asList("Item 1", "Item2", "Item3")); @Override protected ViewGroup onCreateView(@NonNull ViewGroup parent) { return (ViewGroup) LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view, parent, false); } @Override protected void onBindView(@NonNull ViewGroup viewGroup, int position) { TextView textView = viewGroup.findViewById(R.id.text); textView.setText(mData.get(position)); } @Override protected int getItemCount() { return mData.size(); } }); ```
### Demo下载: [app-debug.apk](https://github.com/wuyr/LitePager/raw/master/app-debug.apk) ### 库源码地址: ### 效果 (图1为网易云原效果): ![preview](https://github.com/wuyr/LitePager/raw/master/previews/preview1.gif) ![preview](https://github.com/wuyr/LitePager/raw/master/previews/preview2.gif) ![preview](https://github.com/wuyr/LitePager/raw/master/previews/preview3.gif) ![preview](https://github.com/wuyr/LitePager/raw/master/previews/preview4.gif)