Skip to content

Commit d4766a8

Browse files
author
hongyangAndroid
committed
完善文档
1 parent 6237150 commit d4766a8

File tree

4 files changed

+85
-1
lines changed

4 files changed

+85
-1
lines changed

.idea/misc.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,84 @@
11
# FlowLayout
22
Android流式布局,支持单选、多选等,适合用于产品标签等。
3+
4+
5+
##特色
6+
* 以setAdapter形式注入数据
7+
* 直接设置selector为background即可完成标签选则的切换,类似CheckBox
8+
* 支持控制选择的Tag数量,比如:单选、多选
9+
* 支持setOnTagClickListener,当点击某个Tag回调
10+
* 支持setOnSelectListener,当选择某个Tag后回调
11+
* 支持adapter.notifyDataChanged
12+
* Activity重建(或者旋转)后,选择的状态自动保存
13+
14+
##效果图
15+
16+
<img src="flowlayout.gif" width="320px"/>
17+
18+
## 用法
19+
20+
### 声明
21+
布局文件中声明:
22+
23+
```java
24+
<com.zhy.view.flowlayout.TagFlowLayout
25+
android:id="@+id/id_flowlayout"
26+
zhy:max_select="-1"
27+
android:layout_width="fill_parent"
28+
android:layout_height="wrap_content"
29+
android:padding="20dp">
30+
</com.zhy.view.flowlayout.TagFlowLayout>
31+
```
32+
33+
支持属性:
34+
35+
`max_select`:-1为不限制选择数量,>=1的数字为控制选择tag的数量
36+
`multi_suppout` 是否开启多选的支持,默认为true
37+
38+
###设置数据
39+
40+
```java
41+
mFlowLayout.setAdapter(new TagAdapter<String>(mVals)
42+
{
43+
@Override
44+
public View getView(FlowLayout parent, int position, String s)
45+
{
46+
TextView tv = (TextView) mInflater.inflate(R.layout.tv,
47+
mFlowLayout, false);
48+
tv.setText(s);
49+
return tv;
50+
}
51+
});
52+
```
53+
54+
getView中回调,类似ListView等用法。
55+
56+
###事件
57+
58+
```java
59+
mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener()
60+
{
61+
@Override
62+
public boolean onTagClick(View view, int position, FlowLayout parent)
63+
{
64+
Toast.makeText(getActivity(), mVals[position], Toast.LENGTH_SHORT).show();
65+
return true;
66+
}
67+
});
68+
```
69+
70+
点击标签时的回调。
71+
72+
```java
73+
mFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener()
74+
{
75+
@Override
76+
public void onSelected(Set<Integer> selectPosSet)
77+
{
78+
getActivity().setTitle("choose:" + selectPosSet.toString());
79+
}
80+
});
81+
```
82+
选择多个标签时的回调。
83+
84+

flowLayout.gif

279 KB
Loading

flowlayout/src/main/java/com/zhy/flowlayout/SimpleFragment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState)
3939

4040
mFlowLayout.setAdapter(new TagAdapter<String>(mVals)
4141
{
42-
4342
@Override
4443
public View getView(FlowLayout parent, int position, String s)
4544
{

0 commit comments

Comments
 (0)