2

我正在尝试以编程方式在图像中实现以下视图。我正在动态地将文本视图添加到相对布局中。我的问题是文本视图根据需要添加到之前添加的每个文本视图的右侧。但是在一行完成后,其他文本视图由于屏幕大小而被隐藏。如何在一行中添加其他剩余文本视图后将其添加到下一行。我的方法是否错误地实现了这一点。请指导我。谢谢。

这是代码:

RelativeLayout llTags = (RelativeLayout)res.findViewById(R.id.layout_tags);
for (int i = 0; i < arrTags.size(); i++) {  
    View view =  (getActivity()).getLayoutInflater().inflate(R.layout.item_tags, null);
    tvTag = (TextView) view.findViewById(R.id.tv_tags);
    tvTag.setText(arrTags.get(i));
    view.setId(i+1);            
    RelativeLayout.LayoutParams lpFirst = new 
        RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    if(i!=0){
       lpFirst.addRule(RelativeLayout.RIGHT_OF,view.getId()-1);             
       lpFirst.setMargins(5,0,0,0);
    }
    llTags.addView(view, i, lpFirst);           
}             

在此处输入图像描述

4

1 回答 1

3

最后经过大量谷歌搜索从这里得到了解决方案:

https://github.com/ApmeM/android-flowlayout

需要创建自定义流布局而不是使用的相对布局。自定义流布局将相应地调整子视图。

于 2013-07-26T13:47:43.523 回答