自定义控件 - 流式布局:TagFlowLayout
在项目中需要用到流式布局的样式,此文学习鸿洋大神的FlowLayout控件,学习使用一下。出自 http://blog.csdn.net/lmj623565791/article/details/38352503
流式布局的特点:
- 支持setAdapter设置数据源
- 支持单选、多选
- 点击回调事件
效果图:

使用方法
1 gradle依赖
compile 'com.hyman:flowlayout-lib:1.1.2'
2 布局文件中使用
<com.zhy.view.flowlayout.TagFlowLayout
android:id="@+id/tagfl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:max_select="1" />
app:max_select = 1 表示单选
3 代码中设置数据源
List<String> datas = new ArrayList<>();
TagAdapter<String> adapter= new TagAdapter<String>(datas) {
@Override
public View getView(FlowLayout parent, int position, String o) {
TextView view = (TextView) LayoutInflater.from(mContext).inflate(R.layout.item_tag, parent,false);
view.setText(o);
return view;
}
};
tagFlowLayout.setAdapter(adapter);
4 设置textview资源文件布局
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/margin"
android:textColor="@drawable/b_text_color"
android:text="标签" />
5 设置点击事件,默认选中第一个
tagFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {
@Override
public boolean onTagClick(View view, int position, FlowLayout parent) {
LogUtil.e("点击了tag:"+position);
return false;
}
});
tagFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener() {
@Override
public void onSelected(Set<Integer> selectPosSet) {
LogUtil.e("选中了tag:"+selectPosSet);
}
});
adapter.setSelectedList(0);//默认选中第一个
自定义控件 - 流式布局:TagFlowLayout的更多相关文章
- Android 自定义View修炼-Android中常见的热门标签的流式布局的实现
一.概述:在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何 自定义一个类似热门标签那样的流式布局吧(源码下载在下面最后给出哈) 类似的 ...
- Android控件进阶-自定义流式布局和热门标签控件
技术:Android+java 概述 在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何 自定义一个类似热门标签那样的流式布局吧,类 ...
- android -------- 流式布局,支持单选、多选等
最近开发中有流式标签这个功能,网上学了下,来分享一下 Android 流式布局,支持单选.多选等,适合用于产品标签等. 效果图: 用法: dependencies { compile 'com.hym ...
- 流式布局&固定宽度&响应式&rem
我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局.限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法. 1.流式布局: ...
- webapp,liveapp: 流式布局和rem布局
liveapp场景应用,一般针对的是移动端,近来也是很火,颇有一些感受,拿来分享一下. 页面宽度范围: 一般移动端页面我们的像素范围是320px-640px,最大640px,最小320px,所以设计稿 ...
- JAVA 流式布局管理器
//流式布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian2 extends JFrame{ //定义组件 JBut ...
- 自定义View(三)--实现一个简单地流式布局
Android中的流式布局也就是常说的瀑布流很是常见,不仅在很多项目中都能见到,而且面试中也有很多面试官问道,那么什么是流式布局呢?简单来说就是如果当前行的剩余宽度不足以摆放下一个控件的时候,则自动将 ...
- Android 自动换行流式布局的RadioGroup
效果图 用法 使用FlowRadioGroup代替RadioGroup 代码 import android.content.Context; import android.util.Attribute ...
- 转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址
http://blog.csdn.net/liujun13579/article/details/7771191 前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以 ...
随机推荐
- NOIP赛前集训备忘录(含每日总结)(日更?。。。)
NOIP赛前集训备忘录(含每日考试总结) 标签: 有用的东西~(≧▽≦)/~啦啦啦 阅读体验:https://zybuluo.com/Junlier/note/1279194 考试每日总结(这个东西是 ...
- C++ delete仍可访问的问题
C++ delete和置为NULL 先上一段代码: class Object { public: explicit Object(int num) : m_num(num){} void functi ...
- PHP至Document类操作 xml 文件
今天将项目上传到服务器后,打开项目发现报错 Error:undefined function appendChild()......, 根据提示查看源代码,发现 new Document()-> ...
- Vue下简单分页及搜索功能
最近利用Vue和element ui仿写了个小页面,记一哈分页和搜索功能的简单实现. 首页 emmmm..... 搜索框输入..... 搜索完成 数据是直接写在这里面的: cardPhoto:[ ...
- JS 的JSON对象
知识点一: 循环对象 for(x in Obj) x表示属性,Obj.x表示属性的值. 修改值 Obj.x = " "//直接修改 删除对象属性 delete Obj.x va ...
- [七月挑选]树莓派Raspberrypi上配置Git
title: 树莓派Raspberrypi上配置Git 树莓派Raspberrypi上配置Git. 开始 首先你得有一树莓派!!! 过程 查看自己树莓派的版本 pi@raspberrypi:~ $ u ...
- 关于MKNetworking自己维护
关于MKNetworking自己维护 个人比较偏向MKNetworking, 因为在小项目里这个网络请求框架可以说是很轻量级.但是里边有一部分功能缺失或者是功能富余, 以及需要优化的地方. 所以决 ...
- UITextView学习笔记
=================================== UITextView =================================== 1.UITextView常用属性 ...
- 第一次整合ssm环境后,对请求流程的理解 ,以及一些配置(有错就更新)
工程结构图: 显示层(handler/controller): request请求到springmvc的前端控制器,从处理器映射器找相应的handler(用@RequestMapping(" ...
- 06.Linux系统-GitLab版本控制服务安装部署
官方文档:https://about.gitlab.com/install/#centos-7 1.yum install -y curl policycoreutils-python openssh ...