FlowLayout

Android 流式布局FlowLayout 实现关键字标签

效果图

使用方法

在项目根目录的build.gradle文件中加入如下代码

maven { url "https://jitpack.io" }

在app根目录的buil.gradle文件中加入依赖

compile 'com.github.alidili:FlowLayout:v1.5'

在Activity中使用,设置点击事件

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

FlowLayout flKeyword = findViewById(R.id.fl_keyword);

// 关键字集合

List list = new ArrayList<>();

list.add("关键词一");

list.add("关键词二");

list.add("关键词三");

list.add("关键词四");

list.add("关键词五");

// 设置文字大小

flKeyword.setTextSize(15);

// 设置文字颜色

flKeyword.setTextColor(Color.BLACK);

// 设置文字背景

flKeyword.setBackgroundResource(R.drawable.bg_frame);

// 设置文字水平margin

flKeyword.setHorizontalSpacing(15);

// 设置文字垂直margin

flKeyword.setVerticalSpacing(15);

// 设置文字水平padding

flKeyword.setTextPaddingH(15);

// 设置文字垂直padding

flKeyword.setTextPaddingH(8);

// 设置UI与点击事件监听

// 最后调用setViews方法

flKeyword.setViews(list, new FlowLayout.OnItemClickListener() {

@Override

public void onItemClick(String content) {

Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();

}

});

// 增加关键字

flKeyword.addView("关键字六", new FlowLayout.OnItemClickListener() {

@Override

public void onItemClick(String content) {

Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();

}

});

}

}

布局文件

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/fl_keyword"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginRight="10dp"

android:layout_marginTop="10dp"

app:backgroundResource="@drawable/bg_frame"

app:horizontalSpacing="15dp"

app:itemColor="@color/colorAccent"

app:itemSize="15sp"

app:textPaddingH="15dp"

app:textPaddingV="8dp"

app:verticalSpacing="15dp" />

License

Copyright (C) 2017 YangLe

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

android 自定义flowlayout,Android 流式布局FlowLayout 实现关键字标签相关推荐

  1. Android中的封装流式布局FlowLayout

    鸿洋的GitHub:https://github.com/hongyangAndroid/FlowLayout 第一步:加依赖 implementation 'com.hyman:flowlayout ...

  2. FlowLayout(流式布局)的实现

    文章目录 前言 代码实现(Flowlayout) 使用方法 1. 编写 item 布局 2. 编写 Adapter 3. 主活动中使用 FlowLayout 参考 前言 最近在做的项目决定用流式布局来 ...

  3. 流式布局FlowLayout支持行数控制,单选,多选,点击等操作

    最近有这么一个需求,如下图 开发中内容搜索页面经常会记录搜索关键字,搜索关键字长度不一,我们通过会采用自定义流布局的方式展示:流布局的基本需要是动态添加childView并实现自动换行操作,这个操作比 ...

  4. 常用的流式布局FlowLayout

    流式布局FlowLayout 代码示例: package Test;import javax.swing.*; import java.awt.*;public class FlowLayoutTes ...

  5. JavaSwing_1.1: FlowLayout(流式布局)

    本文链接: http://blog.csdn.net/xietansheng/article/details/72814541 Java Swing 图形界面开发(目录) 1. 概述 官方JavaDo ...

  6. flowlayout java_Java图形化界面设计——布局管理器之FlowLayout(流式布局)

    前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了 ...

  7. Android自定义流式布局-FlowLayout

    很多App在搜索页时都有对热门标签的一个排列,而Android官方没有对应的布局控件,所以自己写了一个流式布局(也称标签布局)--FlowLayout. 为了大家使用的方便,没有添加自定义属性,所以需 ...

  8. Android流式布局FlowLayout,一款针对Tag的布局

    交流群 : 668524118 本群主要用于编程技术 ,及创意作品 ,思维架构的交流 ,欢迎喜欢创新 ,热爱生活的朋友加入 ! 前言 flow layout, 流式布局, 这个概念在移动端或者前端开发 ...

  9. Android第三方流式布局FlowLayout简单实用(搜索历史记录)

    效果图: 导入大Model下: maven { url 'https://jitpack.io' } builde.gradle依赖: implementation 'com.github.LRH19 ...

最新文章

  1. Create a restful app with AngularJS/Grails(4)
  2. cout输出字符串_leetcode C++题解系列-042 字符串相乘
  3. 马的遍历(洛谷-P1443)
  4. IIS下配置跨域设置Access-Control-Allow-Origin
  5. 非结构化商业文本中隐私信息识别-第2名方案(含数据)
  6. Java线程池—ThreadPoolExecutor
  7. oracleI基础入门(8)--table--union
  8. vuejs对象更新渲染_vue 对对象的属性进行修改时,不能渲染页面 vue.$set()
  9. 在计算机网络GAN代表什么,图解 生成对抗网络GAN 原理 超详解
  10. mysql的配置文件名称是_【MySQL学生手册】MySQL的配置文件
  11. Manjaro下安装和美化i3wm,以及相关软件配置
  12. 学习C语言编程必备的入门书籍
  13. 【学习记录】QT5 的简单界面设计及错误总结
  14. 免费PR转场下载 PR形状过渡视频转场MOGRT
  15. C/C++中的五个预定义的宏名
  16. 【回溯】B033_LQ_填字母游戏(暴搜+注意参数传递机制)
  17. 热烈祝贺黄雪斌,魏巍新婚大喜
  18. 使用Echarts制作散点图
  19. 朋友圈长文不折叠神器
  20. 数据库原理及应用-李唯唯主编-实验3-2

热门文章

  1. 文件上传 服务器不响应headr,php 文件上传中服务器接收到$_FILES[xxx]['type'] 中的 type 原来是从 http header 里读取的,所以非常不可信...
  2. ubuntu 20.04 | 安装 Anaconda3
  3. D30|重新安排行程+棋盘问题(N皇后+解数独)
  4. ThinkPad X1 Carbon Gen 10、ThinkPad X1 Yoga Gen 7 评测
  5. elementui tree显示两列字段数据
  6. java 正则车牌_Android中手机号、车牌号正则表达式大全
  7. 2023年要想翻身赚大钱,网络安全是你必须要知道的“薪”机遇
  8. java se 学习之项目二:客户信息管理软件
  9. centos+kde+中文输入法安装
  10. Overleaf 使用