最近开发中有流式标签这个功能,网上学了下,来分享一下

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


效果图:

 

 

用法:

dependencies { compile 'com.hyman:flowlayout-lib:1.1.2'}

布局:

          

代码:

public class FlowlayoutActivity extends AppCompatActivity {    TagFlowLayout tagFlowLayout;    private List list;    private LayoutInflater layoutInflater;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.flowlayout_activity);        list= new ArrayList<>();        list.add("新闻");        list.add("美食");        list.add("体育");        list.add("生活号");        list.add("预留");        list.add("娱乐");        list.add("杭州市");        list.add("太行");        list.add("舞蹈");        list.add("直播");        list.add("新闻");        list.add("美食");        list.add("体育");        list.add("生活号");        list.add("预留");        list.add("娱乐");        list.add("杭州市");        list.add("太行");        list.add("舞蹈");        list.add("直播");        initView();    }    private void initView(){        layoutInflater = LayoutInflater.from(this);        tagFlowLayout = findViewById(R.id.id_flowlayout);        tagFlowLayout.setAdapter(new TagAdapter(list)        {            @Override            public View getView(FlowLayout parent, int position, String s)            {                TextView tv = (TextView) layoutInflater.inflate(R.layout.flowlayout_item_tv,                        tagFlowLayout, false);                tv.setText(s);                return tv;            }        });        tagFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener()        {            @Override            public boolean onTagClick(View view, int position, FlowLayout parent)            {                //得到点击的值                Toast.makeText(getApplicationContext(), list.get(position), Toast.LENGTH_SHORT).show();                return true;            }        });        tagFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener() {            @Override            public void onSelected(Set selectPosSet) {                Log.i("得到下标的集合",selectPosSet.toString());                //得到下标的集合                //Toast.makeText(getApplicationContext(),  selectPosSet.toString()+"s", Toast.LENGTH_SHORT).show();            }        });        /*//预先设置选中        mAdapter.setSelectedList(1,3,5,7,8,9);        //获得所有选中的pos集合        flowLayout.getSelectedList();*/    }}

上图日志:

 

代码文档:https://github.com/hongyangAndroid/FlowLayout

更多相关文章

  1. android -------- 流式布局,支持单选、多选等
  2. Android(安卓)Intent传递对象和集合
  3. android activity之间传递bean类型数据
  4. 【Android】以BaseAdapter做适配器的ListView及其性能优化
  5. Android(安卓)调试工具集合
  6. Android错误解决方法大集合
  7. Android常用加密库集合
  8. Android开发实战视频集合
  9. android 应用程序 集合

随机推荐

  1. 构造函数、dom元素的基础
  2. 大型团队 Jenkins 实践分享
  3. 何勉:第一性原理和精益敏捷的规模化实施
  4. 预生产环境数量的统计和分析
  5. CONUTIF函数经典用法,全了
  6. 一看就会,一用就废?八个实用技巧请拿好
  7. 五个常用公式,效率提高一点点
  8. 五分钟,学会一对多、多对多查询经典公式
  9. DevSecOps 三问:Why?What?How?
  10. 一对多、多对多查询,最简单的方法请拿好