以编程方式在Relative布局中的多行中添加Text视图

时间:2013-07-26 10:15:06

标签: android relativelayout textview

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

这是代码:

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);           
}             

enter image description here

1 个答案:

答案 0 :(得分:3)

最后,谷歌搜索后得到了解决方案:

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

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