Android 将文本视图添加到.java文件中的线性布局
我的XML文件中有水平方向的线性布局,我试图使用下面的代码添加文本视图Android 将文本视图添加到.java文件中的线性布局,android,android-layout,android-view,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); 以类似的方式
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个文本视图看起来不错,但如果我尝试添加更多文本视图,它们将移出屏幕。
我知道使用水平方向会将所有视图按水平方向对齐。但是,如何更改设计/代码,使隐藏的文本视图自动移动到下一行。
有人能推荐我吗。
提前感谢。
线性布局既可以是水平的,也可以是垂直的,但不能两者兼而有之
您可以使用GridLayout
,也许这更适合您的需要。LinearLayout
可以是水平的,也可以是垂直的,但不能两者兼而有之
您可以使用GridLayout
,也许这更适合您的需要。您需要将xml文件中的主布局方向设置为垂直,然后以编程方式添加新的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);
您需要将xml文件中的主布局方向设置为垂直,然后以编程方式在中添加新的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);
您可以使用循环添加TextView
。在循环内,检查TextView
右边缘的x坐标是否等于屏幕宽度。如果是这样,您可以根据需要改变y坐标的一定量,并不断添加textview
。您必须将视图组
更改为限制性较小的视图组(即相对视图
)您可以使用循环添加文本视图
。在循环内,检查TextView
右边缘的x坐标是否等于屏幕宽度。如果是这样,您可以根据需要改变y坐标的一定量,并不断添加textview
。您必须将视图组
更改为限制性较小的视图组(即RelativeLayout
)这是个好主意。但每行中文本视图的数量不应该是固定的。如果第一行没有空格,它必须对齐。这是个好主意。但每行中文本视图的数量不应该是固定的。如果第一排没有空间,它必须对齐。我喜欢这个简单的想法。我忘了,如果没有空间,网格布局会对齐。谢谢你。让我试试是的,它起作用了,但我还在检查。我正在显示26个字母表。当我尝试将numcolumns作为autofit时,只排列了2列。当我试图指定一个数字(比如7)时,最后一行(项目数=5)给了我一个问题。我试图使它与中心对齐。有什么建议吗?你能在这个问题上帮我吗?我真的不知道,你的意思。看看这个。我尝试了这个示例,但是使用了android:numColumns作为7(如果我不使用它,则每行仅获取2个项目),最后一行只剩下5个元素,这些元素正在向左对齐。你能建议我把最后一行的五个项目与中心对齐吗?我喜欢这个简单的想法。我忘了,如果没有空间,网格布局会对齐。谢谢你。让我试试是的,它起作用了,但我还在检查。我正在显示26个字母表。当我尝试将numcolumns作为autofit时,只排列了2列。当我试图指定一个数字(比如7)时,最后一行(项目数=5)给了我一个问题。我试图使它与中心对齐。有什么建议吗?你能在这个问题上帮我吗?我真的不知道,你的意思。看看这个。我尝试了这个示例,但是使用了android:numColumns作为7(如果我不使用它,则每行仅获取2个项目),最后一行只剩下5个元素,这些元素正在向左对齐。你能建议我把最后一行的五个项目对准中心吗