# superRecycler 使用说明
android控件recycleView自定义版本
## Download
Download grab via Maven:
~~~
allprojects {
repositories {
maven { url "http://192.168.0.114:8081/nexus/content/repositories/releases/" }
}
}
~~~
~~~
dependencies {
compile 'com.ucmed.monkey:superRecycler:1.0.3'
}
~~~
## 使用
### 1.提供2个ui布局可供使用
~~~xml
<com.pacific.recyclerview.SuperRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rclv"
style="@style/RecyclerView"
app:layout_empty="@layout/layout_http_data_empty"
app:layout_moreProgress="@layout/layout_ui_recycle_foot" />
~~~
####第2个增加了header跟footer可以自定义
~~~
<com.pacific.recyclerview.SuperScrollRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rclv"
style="@style/RecyclerView"
app:layout_empty="@layout/layout_http_data_empty"
app:layout_moreProgress="@layout/layout_ui_recycle_foot" />
~~~
### 2.相关属性支持
~~~
<attr name="layout_empty" format="reference" />
<attr name="layout_header" format="reference" />
<attr name="layout_footer" format="reference" />
<attr name="layout_moreProgress" format="reference" />
<attr name="layout_progress" format="reference" />
<attr name="layoutProgressShow" format="boolean" />
<attr name="recyclerClipToPadding" format="boolean" />
<attr name="recyclerPadding" format="dimension" />
<attr name="recyclerPaddingTop" format="dimension" />
<attr name="recyclerPaddingBottom" format="dimension" />
<attr name="recyclerPaddingLeft" format="dimension" />
<attr name="recyclerPaddingRight" format="dimension" />
<attr name="scrollbarStyle">
<flag name="insideOverlay" value="0x0" />
<flag name="insideInset" value="0x01000000" />
<flag name="outsideOverlay" value="0x02000000" />
<flag name="outsideInset" value="0x03000000" />
</attr>
<attr name="mainLayoutId" format="reference" />
~~~
### 3.adapter方法实现类
~~~
public abstract class RecyclerAdapter<T> extends BaseRecyclerAdapter<T, RecyclerAdapterHelper> {
public RecyclerAdapter(Context context, @NonNull int... layoutResIds) {
super(context, layoutResIds);
}
public RecyclerAdapter(Context context, @Nullable List<T> data, @NonNull int... layoutResIds) {
super(context, data, layoutResIds);
}
@Override
protected RecyclerAdapterHelper getAdapterHelper(ViewHolder viewHolder) {
return RecyclerAdapterHelper.get(viewHolder);
}
}
~~~
#### 自定义添加filter
~~~
public abstract class RecyclerFilterAdapter<T> extends BaseRecyclerAdapter<T, RecyclerAdapterHelper> implements Filterable, FilterCallBack {
RecycleFilter filter;
public RecyclerFilterAdapter(Context context, @NonNull int... layoutResIds) {
super(context, layoutResIds);
}
public RecyclerFilterAdapter(Context context, @Nullable List<T> data, @NonNull int... layoutResIds) {
super(context, data, layoutResIds);
}
@Override
protected RecyclerAdapterHelper getAdapterHelper(ViewHolder viewHolder) {
return RecyclerAdapterHelper.get(viewHolder);
}
public RecyclerFilterAdapter(Context context, @Nullable List<T> data, @NonNull int layoutResIds, RecycleFilter filter) {
super(context, data, layoutResIds);
this.filter = filter;
}
@Override
public Filter getFilter() {
filter.setFilterCallBack(this);
return filter;
}
@Override
public void publishResults(List<BaseFilterModel> results) {
clear();
addAll((List<T>) results);
}
}
~~~
### 4.adapter使用案例
~~~
adapter = new RecyclerAdapter<ListItemIdName>(this, t, R.layout.list_item_ui_single_line_text) {
@Override
protected void convert(RecyclerAdapterHelper helper, final ListItemIdName item) {
helper.setText(R.id.tv_name, item.name).getItemView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(FacultyListActivity.this, DoctorListActivity.class);
intent.putExtra("id", item.id);
startActivity(intent);
}
});
}
};
rclv.setAdapter(adapter);
~~~
### 5.混淆
``` xml
-dontwarn com.malinskiy.superrecyclerview.SwipeDismissRecyclerViewTouchListener*
```
- 发布aar到maven仓库
- svn或gitlab代码上传规范
- maven仓库管理
- 自动构建
- Android自动构建
- Android-jenkins发布
- 规范
- Android
- Android组件模块文档
- 基础业务模块
- 智能导诊
- 科室医生
- 医院导航
- 健康资讯
- 健康百科
- 个人中心
- 外链模块
- 微信资讯
- 动态首页
- 互联网医院
- 外链模块基础版本
- 底层功能模块
- UI样式
- Http请求
- 动态功能
- 版本更新
- 支付(微信、支付宝)
- 二维码扫描
- 安全键盘
- 开发工具类模块
- icepick
- dart
- butterknife
- superRecycler
- jsonBuilder
- android-state
- iOS文档
- iOS组件模块文档
- iOS底层功能模块
- iOS弹出窗
- iOS加载框
- iOS-标准样式库
- iOS网络请求
- iOS二维码扫描
- iOS功能模块组件
- iOS健康资讯
- iOS健康百科
- iOS智能导诊
- iOS科室医生
- iOS医院导航
- iOS外链
- iOS模板(健康资讯类)
- iOS其它
- Cocoapods安装
- iOS-Cocoapods相关
- iOS-创建私有Cocoapods仓库
- 平台相关文档
- 全栈中心概述
- WEEX跨平台解决方法
- 玩转开发者平台
- android打包指南
- iOS自动化打包指南
- rubik-u web组件文档
- 开始
- 全局方法
- 列表组件
- 标题组件
- 按钮组件
- 切换组件
- 下拉框组件
- 开关/单/复选组件
- 功能列表组件
- 评星组件
- 搜索组件
- 图片上传组件
- 表单
- 表单例一
- 表单例二
- 表单例三
- 聊天组件
- 滑动刷新组件
- View窗口操作
- 面板组件
- 简单面板组件
- 信息展示面板
- 提示文字
- 底部悬浮组件
- 长文字展示组件
- 隐藏/显示面板
- 客户端组件
- 判断客户端环境
- 登录
- 等待框
- 提示框
- 时间选择器
- 扫码组件
- 拍照组件
- 访问相册组件
- 用户信息获取组件
- 返回上一页
- 返回首页
- 关闭webview
- 获取客户端类型
- 支付
- rubik-u web模板文档
- 基础组件模板
- 复选框使用案例