android图片流式布局,GitHub - qiushi123/flowLayout-Android: 自定义流式布局实现文字和图片瀑布流效果...

#文字瀑布流和图片瀑布流的实现

-用自定义的布局(流式布局)来实现瀑布流的效果

#先看效果图

##文字瀑布流

d371045614fdb18dcab4eb441848c974.gif

###文字瀑布流特点:

可以实现textview控件的随机排布。每个textview的背景色都不同。

每次点击后,圆形textview还会变为正方形。每次点击有个水波效果,

并且每个textview被点击时背景色会会改变

##图片瀑布流

e49efde107fca5edfffaa5643f210f80.gif

###图片瀑布流特点:

可以实现Imageview控件的随机排布。每个Imageview的背景色都不同。

每次点击后,圆形Imageview还会变为正方形。每次点击有个水波效果,

并且每个Imageview被点击时背景色会会改变

可以实现图片的随机错乱排布。

#使用步骤

##1 导包

包flowLayout.jar包导入到你的项目中。

##2,代码示例

文字布局使用代码

1,添加流式布局

scrollView = new ScrollView(this);//需要在流布局外面包裹一个scrollView

flowLayout = new FlowTextLayout(this);

int padding = 10;

//设置流布局的上下左右padding值

flowLayout.setPadding(padding, padding, padding, padding);

flowLayout.setHorizontalSpacing(12);//水平间距

flowLayout.setVerticalSpacing(12);

scrollView.addView(flowLayout, new LayoutParams(

LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

2,设置显示的数据,动态的往流布局中添加textview控件

for (int i = 0; i < list.size(); i++) {

final TextView textView = new TextView(

MainActivity.this);

textView.setTextColor(Color.WHITE);

textView.setGravity(Gravity.CENTER);

Random random = new Random();

textView.setTextSize(

TypedValue.COMPLEX_UNIT_SP,

dip2px(9));

GradientDrawable normalDrawable = DrawableUtil

.generateDrawable(

ColorUtil

.generateBeautifulColor(),

random.nextInt(8) + 80);

GradientDrawable pressedDrawable = DrawableUtil

.generateDrawable(

ColorUtil

.generateBeautifulColor(),

random.nextInt(8) + 8);

textView.setBackgroundDrawable(DrawableUtil

.generateSelector(

normalDrawable,

pressedDrawable));

textView.setPadding(dip2px(12),

dip2px(5), dip2px(12),

dip2px(5));

textView.setText(list.get(i));

flowLayout.addView(textView);

textView.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

showToast(textView

.getText()

.toString());

}

});

}

3,设置好以后一定不要忘记把scrollView添加到我们的activity界面布局中

如我这里是mainactivity的相对布局文件。

rl = (RelativeLayout) findViewById(R.id.rl);

rl.addView(scrollView);

图片布局使用代码

和文字的添加方式一样,这里就不再啰嗦。我有分享示例源码,大家可以参考示例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值