推荐几个动态设置选择标签的开源库
来源:互联网 发布:js是什么语言 编辑:程序博客网 时间:2024/05/16 09:58
https://github.com/hanhailong/FlowTag
FlowTagLayout
Android流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListView、GridView用法一样!
2016/6/26号新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition即可,对于点击模式是不存在初始化标签一说的;对于单选模式来说,如果有多个初始化选择,则默认去第一个;对于多选来说正常使用!!!
##特色
- 填充数据和ListView、GridView用法一样使用Adapter,更新数据直接通过adapter.notifyDataChanged来更新
- 支持点击、单选、多选事件
- 三种模式:FLOW_TAG_CHECKED_NONE、FLOW_TAG_CHECKED_SINGLE、FLOW_TAG_CHECKED_MULTI
- 支持OnTagClickListener单点事件
- 支持OnTagSelectListener单选、多选事件
#效果图
#版本更新
##2016/6/26
- 添加初始化选中标签
- 单选模式下初始化标签只有第一个起作用
- 多选模式下只要设置初始化选中就可以
- 添加初始化选中标签代码示例
Adapter实现OnInitSelectedPosition接口
实现接口中isSelectedPosition方法就可以,选中返回true,不选中默认返回false
public class TagAdapter<T> extends BaseAdapter implements OnInitSelectedPosition { @Override public boolean isSelectedPosition(int position) { if (position % 2 == 0) { return true; } return false; } }
#TODO
- 复用View...
#联系我
如果大家在使用过程中遇到任何问题都可以联系我,谢谢!!!最好是发邮件,我每天都会抽时间看一下我的邮箱:hanhailong.cool@163.com
https://github.com/hongyangAndroid/FlowLayout
FlowLayout
Android流式布局,支持单选、多选等,适合用于产品标签等。
##特色
- 以setAdapter形式注入数据
- 直接设置selector为background即可完成标签选则的切换,类似CheckBox
- 支持控制选择的Tag数量,比如:单选、多选
- 支持setOnTagClickListener,当点击某个Tag回调
- 支持setOnSelectListener,当选择某个Tag后回调
- 支持adapter.notifyDataChanged
- Activity重建(或者旋转)后,选择的状态自动保存
##效果图
用法
dependencies { compile 'com.zhy:flowlayout-lib:1.0.3'}
声明
布局文件中声明:
<com.zhy.view.flowlayout.TagFlowLayout android:id="@+id/id_flowlayout" zhy:max_select="-1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="20dp"> </com.zhy.view.flowlayout.TagFlowLayout>
支持属性:
max_select
:-1为不限制选择数量,>=1的数字为控制选择tag的数量 auto_select_effect
是否开启默认的选中效果,即为selector中设置的效果,默认为true;如果设置为false,则无选中效果,需要自己在回调中处理。
###设置数据
mFlowLayout.setAdapter(new TagAdapter<String>(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!
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/tag_select_textcolor" android:drawable="@drawable/checked_bg" android:state_checked="true"></item> <item android:drawable="@drawable/normal_bg"></item></selector>
设置个background,上面一个状态为android:state_checked,另一个为正常。写写布局文件我都嫌慢,怎么能写一堆代码控制效果,设置改个效果,岂不是没时间dota了。
###事件
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<Integer> selectPosSet) { getActivity().setTitle("choose:" + selectPosSet.toString()); }});
选择多个标签时的回调。
##预先设置Item选中
//预先设置选中mAdapter.setSelectedList(1,3,5,7,8,9);//获得所有选中的pos集合flowLayout.getSelectedList();
- 推荐几个动态设置选择标签的开源库
- excel2013动态标签的设置
- select标签 动态选择
- Jquery选择选择动态添加HTML标签的事件
- iOS 动态设置标签
- 怎么设置几个a标签之间的间距,谢谢 !
- 向C++初学者推荐的几个开源库
- 向C++初学者推荐的几个开源库
- struts2的select标签如何设置一个未选择值
- ie6中select标签动态插入选择项<option>后不能设置selected属性
- 推荐几个开源库
- 几个标签的用法
- 兼容的几个标签
- spring的几个标签
- html的几个标签
- 为标签设置动态属性
- asp.net动态设置页面的title,meta标签
- asp.net动态设置页面的title,meta标签
- 剑指offer--替换空格
- Keepalived安装与配置
- 哈希桶的实现
- JavaSE 学习参考:File文件类(2)
- 《Android学习笔记》Android Studio如何去除顶部标题栏教程
- 推荐几个动态设置选择标签的开源库
- 这两天的学习内容
- Spark2.1集群环境搭建小结(2)
- 2017.3.25
- Linux中vim的配置,安装gcc/g++,gdb
- Android关于MediaPlayer中的prepare方法和prepareAsync方法的区别
- [JZOJ3743] 【TJOI2014】Alice and Bob
- java中封装 关键字 构造方法 等用法详解
- 微信消息管理之接收事件推送