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