动态添加流式布局

动态添加流式布局自定义流式布局 之前的一篇文章写过 这里就不阐述了 http blog csdn net article details 随后封装一个方法工具类 GradientDraw 代替 shape StateListDra 替换 selector 设置 publicclassD GradientDraw

自定义流式布局:之前的一篇文章写过,这里就不阐述了:http://blog.csdn.net/_/article/details/

随后封装一个方法工具类:GradientDrawable代替shape,StateListDrawable替换selector设置

public class DrawUtils { //GradientDrawable代替shape  public static Drawable getDrawable(int rgb, float radius) { GradientDrawable gradientDrawable = new GradientDrawable();  gradientDrawable.setColor(rgb);//设置颜色  gradientDrawable.setGradientType(GradientDrawable.RECTANGLE);//shape矩形  gradientDrawable.setCornerRadius(radius);//设置圆角半径  gradientDrawable.setStroke(UIUtils.dp2px(1), rgb);//设置边框厚度和颜色  return gradientDrawable;  } //StateListDrawable替换selector设置  public static StateListDrawable getSelector(Drawable normalDrawable, Drawable pressDrawable) { StateListDrawable stateListDrawable = new StateListDrawable();  //给当前的颜色选择器添加选中图片指向状态,未选中图片指向状态  stateListDrawable.addState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}, pressDrawable);  stateListDrawable.addState(new int[]{android.R.attr.state_enabled}, normalDrawable);  //设置默认状态  stateListDrawable.addState(new int[]{}, normalDrawable);  return stateListDrawable;  } } 

首先写一个文字集合

private String[] datas = new String[]{ 
 "北京欢迎你", "迪士尼3天旅游", "国家计划", "30天理财计划", "180天理财计划", "月月涨工资", "中商情报局投资牛逼", "大学老师购买房子", "屌丝下海经商计划", "美人鱼影视拍摄投资"  , "Android冷门", "养猪场扩大经营",  "旅游公司诈骗计划", "手机洗钱计划", "妲己回款计划", "高富帅迎娶白富美计划" };

new一个TextView设置参数并添加到自定义的FlowLayout布局中

 for (int i = 0; i < datas.length; i++) { final TextView tv = new TextView(getContext());  tv.setText(datas[i]);  ViewGroup.MarginLayoutParams mp = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,  ViewGroup.LayoutParams.WRAP_CONTENT);  mp.leftMargin = UIUtils.dp2px(5);  mp.rightMargin = UIUtils.dp2px(5);  mp.topMargin = UIUtils.dp2px(5);  mp.bottomMargin = UIUtils.dp2px(5);  tv.setLayoutParams(mp);  int padding = UIUtils.dp2px(5);  tv.setPadding(padding, padding, padding, padding);//设置内边距  tv.setTextSize(UIUtils.dp2px(10));  Random random = new Random();  int red = random.nextInt(211);  int green = random.nextInt(211);  int blue = random.nextInt(211);  //设置单一背景  //tv.setBackground(DrawUtils.getDrawable(Color.rgb(red,green,blue),UIUtils.dp2px(5)));  tv.setBackground(DrawUtils.getSelector(DrawUtils.getDrawable(Color.rgb(red, green, blue), UIUtils.dp2px(5)) , DrawUtils.getDrawable(Color.WHITE, UIUtils.dp2px(5))));  //设置textView是可点击的.如果设置了点击事件,则TextView就是可点击的。 // tv.setClickable(true);  tv.setOnClickListener(new View.OnClickListener() { @Override  public void onClick(View v) { Toast.makeText(getContext(), tv.getText().toString(), Toast.LENGTH_LONG).show();  } });  flowHot.addView(tv);  }

按下前的结果:

动态添加流式布局


点击屌丝下海经商计划后的结果

动态添加流式布局


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228490.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:54
下一篇 2026年3月16日 下午6:54


相关推荐

  • 二进制加减法运算法则例子_php运算符

    二进制加减法运算法则例子_php运算符如果采用与十进制减法相同的方法,那么从一个较大的二进制数中减去一个较小的无符号二进制数就很容易了。示例如下:01101(十进制数13)–00111(十进制数7)———-位0上的减法非常简单:01101–00111———-0下一个位置上执行(0-1),要向左边的相邻位借1,其结果是从2中减去1:01001–00111———-10再下一位上,又要向左…

    2026年3月9日
    6
  • (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)

    (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)文章参考自原作者,原作者链接:https://www.bilibili.com/read/cv3305336/,https://www.xiaomi.cn/post/17982230第一步:解锁bootloader手机端操作????设置->关于手机->全部参数->猛戳MIUI版本>成功变身开发者模式;设置->更多设置->开发者选项->设备…

    2022年6月9日
    126
  • 空白符号在线复制_html里空格怎么表示

    空白符号在线复制_html里空格怎么表示空格网名符号复制以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!空格网名符号复制搜狗输入法,v+1在按下d就是空格:这里空格【】这里还有一个空格:[]弄了,在游戏里就是空白名空格符号复制法一:搜狗输入法将半角转换全角,快捷键(Shift+空格键),按空格(根据:半角空格为1字节,全角为2字节)法二:搜狗输…

    2025年11月22日
    6
  • 视频编解码学习之二:编解码框架「建议收藏」

    视频编解码学习之二:编解码框架「建议收藏」第四章视频编码基础 1.压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等语义:每个语法元素所表达的意义。例如:图像编码类型 2.

    2022年7月4日
    35
  • Linux下find命令详解

    Linux下find命令详解find 命令格式 find nbsp path nbsp option nbsp print nbsp exec nbsp ok nbsp xargs nbsp grep nbsp nbsp command nbsp nbsp find 命令的参数 1 path 要查找的目录路径 nbsp nbsp nbsp nbsp nbsp nbsp 表示 HOME 目录 nbsp nbsp nbsp nbsp 表示当前目录 nbsp nbsp nbsp nbsp 表示根目录 nbsp 2 print 表示将结果输出

    2026年3月18日
    2
  • python矩阵乘法_Python矩阵乘法

    python矩阵乘法_Python矩阵乘法python 矩阵乘法 Hereyouwillg 在这里 您将获得用于 python 矩阵乘法的程序 Ifwewanttomu Weneedtochec

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号