您的位置:首页 > 移动开发 > Android开发

流式布局FlowLayout

2017-05-06 10:54 363 查看
https://github.com/hongyangAndroid/FlowLayout

找到一个开源的实现流失布局的项目,mark一下。

Android流式布局,支持单选、多选等,适合用于产品标签等。

特色

以setAdapter形式注入数据

直接设置selector为background即可完成标签选则的切换,类似CheckBox

支持控制选择的Tag数量,比如:单选、多选

支持setOnTagClickListener,当点击某个Tag回调

支持setOnSelectListener,当选择某个Tag后回调

支持adapter.notifyDataChanged

Activity重建(或者旋转)后,选择的状态自动保存

效果图





用法

dependencies {

compile ‘com.zhy:flowlayout-lib:1.0.3’

}

声明

布局文件中声明:

设置数据

mFlowLayout.setAdapter(new TagAdapter(mVals)

{

@Override

public View getView(FlowLayout parent, int position, String s)

{

TextView tv = (TextView) mInflater.inflate(R.layout.tv,

mFlowLayout, false);

tv.setText(s);

return tv;

}

});

getView中回调,类似ListView等用法。

对于选中状态

你还在复杂的写代码设置选中后标签的显示效果么,翔哥说No!

事件

mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener()

{

@Override

public boolean onTagClick(View view, int position, FlowLayout parent)

{

Toast.makeText(getActivity(), mVals[position], Toast.LENGTH_SHORT).show();

return true;

}

});

点击标签时的回调。

mFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener()

{

@Override

public void onSelected(Set selectPosSet)

{

getActivity().setTitle(“choose:” + selectPosSet.toString());

}

});

选择多个标签时的回调。

预先设置Item选中

//预先设置选中

mAdapter.setSelectedList(1,3,5,7,8,9);

//获得所有选中的pos集合

flowLayout.getSelectedList();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 流式布局