将文本视图添加到.java文件中的线性布局

时间:2013-09-08 04:56:53

标签: android android-layout android-view

我在XML文件中使用水平方向的线性布局,我尝试使用下面的代码添加文本视图。

LayoutParams lparams = new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView tv=new TextView(this);
tv.setLayoutParams(lparams);
tv.setText("Sample");
myLinearLayout.addView(tv);

以类似的方式添加5个文本视图看起来不错,但如果我想尝试添加更多文本视图,他们就会移出屏幕。 我知道使用水平方向在水平方向上对齐所有视图。但是,如何更改我的设计/代码,以便隐藏的文本视图自动移动到下一行。 任何人都可以建议我。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

LinearLayout可以是水平的也可以是垂直的,但不能同时使用。

您可以使用GridLayout,这可能更符合您的需求。

答案 1 :(得分:1)

您需要将xml文件中的主布局方向设置为Vertical,然后以编程方式添加新的LinearLayout,并在每行中添加5个textview:

 LinearLayout innerlayout = new LinearLayout(this);
 innerlayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                             LayoutParams.WRAP_CONTENT));
 innerlayout.setOrientation(LinearLayout.HORIZONTAL);
 innerlayout.addView(tv);
 innerlayout.addView(tv1);
 ....
// add innerlayout to main layout myLinearLayout
  myLinearLayout.addView(innerlayout);

答案 2 :(得分:1)

您可以使用循环添加TextView。在循环内部,检查TextView右边缘的x坐标是否等于屏幕宽度。如果是这样,您可以根据需要改变y坐标,并继续添加TextViews。您必须将ViewGroup更改为不受限制的(RelativeLayout