Skip to content

Commit

Permalink
docs: 润色使用文档
Browse files Browse the repository at this point in the history
  • Loading branch information
liangjingkanji committed Aug 5, 2023
1 parent 9a7148f commit 907f6fd
Show file tree
Hide file tree
Showing 23 changed files with 308 additions and 705 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
| <a href="https://liangjingkanji.github.io/document/">贡献代码</a>
| <a href="https://github.com/liangjingkanji/BRV/releases/latest/download/brv-sample.apk">下载体验</a>
<br>
<img src="https://github.com/liangjingkanji/BRV/assets/21078112/1cbd9758-0f69-41e3-b6d9-99a4dfb4f73a" width="350"/>
<img src="https://github.com/liangjingkanji/BRV/blob/master/docs/img/code-preview.png?raw=true" width="300"/>
</p>


Expand All @@ -27,12 +27,12 @@
<img src="https://img.shields.io/badge/license-Apache-blue"/>
<a href="http://liangjingkanji.github.io/BRV/updates"><img src="https://img.shields.io/badge/changed-%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97-brightgreen"/></a>
<a href="http://liangjingkanji.github.io/BRV/api"><img src="https://img.shields.io/badge/api-%E5%87%BD%E6%95%B0%E6%96%87%E6%A1%A3-red"/></a>
<img src="https://raw.githubusercontent.com/liangjingkanji/liangjingkanji/master/img/group.svg"/>
<a href="https://raw.githubusercontent.com/liangjingkanji/liangjingkanji/master/img/group-qrcode.png"><img src="https://raw.githubusercontent.com/liangjingkanji/liangjingkanji/master/img/group.svg"/></a>
<a href="https://github.com/liangjingkanji/BRV/blob/master/docs/issues.md"><img src="https://raw.githubusercontent.com/liangjingkanji/Net/master/docs/img/issues.svg"/></a>
</p>


<p align="center"><img src="https://github.com/liangjingkanji/BRV/blob/master/docs/image/preview.png?raw=true" align="center" width="30%;" /></p>
<p align="center"><img src="https://github.com/liangjingkanji/BRV/blob/master/docs/img/preview.png?raw=true" align="center" width="30%;" /></p>

本框架在不影响RecyclerView的任何函数组件使用基础上开发. 本项目承诺会永远保持社区维护

Expand Down
2 changes: 1 addition & 1 deletion docs/checked.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<img src="https://i.loli.net/2021/08/14/MIe74pdKf5c1hTX.gif" width="250"/>

可编辑/多选列表在开发中很常见, BRV可以短短几行代码就可以实现一个选择模式: [Demo](https://github.com/liangjingkanji/BRV/blob/master/sample/src/main/java/com/drake/brv/sample/ui/fragment/CheckModeFragment.kt)
可编辑/多选列表在开发中很常见, BRV可以几行代码实现[选择模式](https://github.com/liangjingkanji/BRV/blob/master/sample/src/main/java/com/drake/brv/sample/ui/fragment/CheckModeFragment.kt)

## 多选列表

Expand Down
43 changes: 16 additions & 27 deletions docs/click.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,38 @@

| 函数 | 描述 |
|-|-|
| onFastClick | 为指定的Id添加事件监听器 |
| onClick | 为指定的Id添加点击事件监听器, 但包含防抖动(默认500毫秒内不允许重复点击). 也可以[设置间隔](#_4) |
| onLongClick | 为指定的Id添加长按事件监听器 |
| onFastClick | 为指定Id添加事件监听 |
| onClick | 为指定Id添加点击事件监听, 但包含防抖动(默认500毫秒内不允许重复点击), 也[设置间隔](#_4) |
| onLongClick | 为指定Id添加长按事件监听 |

> 通过使用Item的布局文件中的控件id可以为任何视图设置点击事件或者长按事件, Item的点击事件就是给Item的根布局添加Id.
!!! Failure "点击无效"
请勿在onBind中设置点击事件, 因为onBind会在列表复用时反复操作同一个View, 导致监听事件覆盖

## 多对一点击事件

这种使用适用于多个id处理同一个点击业务逻辑
适用于多个ID点击使用相同业务处理

```kotlin
rv.linear().setup {
addType<SimpleModel>(R.layout.item_simple)

onClick(R.id.item) {
// Item设置点击事件, 就要给Item的根布局设置一个id, 这里设置的是R.id.item
onClick(R.id.item, R.id.btn_confirm) {
// 此处的it就是你设置的id
// Item设置点击事件, 就是给Item的根布局设置一个id, 这里设置的是R.id.item
}
}.models = getData()
```

onClick参数是可变长度. 可以指定多个Id, 并且存在覆盖行为. onFastClick / onLongClick同理

```kotlin
rv.linear().setup {
addType<SimpleModel>(R.layout.item_simple)

onLongClick(R.id.item) {

}
onClick(R.id.btn_submit) {
// it就是你设置的id
}

onClick(R.id.btn_submit) {
// 这会覆盖上面的回调逻辑, 因为两者设置的Id相同
}
}.models = getData()
```

!!! Failure "重复点击监听"
相同ID反复设置点击监听会覆盖, 仅最后生效

## 一对一点击事件

既一个Id对应一个点击事件回调. 那么可以使用以下更加简洁的用法
既一个Id对应一个点击事件回调, 那么以下用法更加简洁

```kotlin
rv.linear().setup {
Expand All @@ -60,11 +50,10 @@ rv.linear().setup {

## 点击防抖动

> **防抖动**: 一定间隔时间内只会响应第一次的点击. 避免用户快速点击导致重复响应点击事件
BRV支持防抖动很简单, 使用`onClick`函数设置监听事件即可, `onFastClick`即不包含防抖动的点击事件.
!!! question "防抖动"
即防止在短时间内过于频繁的执行相同的任务

以下代码可以修改防抖动间隔时间(默认为500毫秒)
BRV使用`onClick`函数设置监听事件即包含防抖动, 以下为修改防抖动间隔时间(默认为500毫秒)

=== "全局"
```kotlin
Expand Down
Loading

0 comments on commit 907f6fd

Please sign in to comment.