在水平LinearLayout上膨胀多个TextView

时间:2014-02-07 10:57:10

标签: java android textview android-linearlayout android-inflate

for(int i=0;i<45;i++){
                    textView[i]=new TextView(context);
                    iInflateGoesHere.addView(stringArray[i]);//iInflateGoesHere is a horizontal LinearLayout
                    textView[i].setText(" "+i);

                }

结果是:所以它到达行尾,尝试拟合“22”,你可以在截图上看到结果。

当然,显示数字不是我的目标,我想从数组中添加字符串,使其看起来像普通文本 - 当一行结束时,文本应该从下一行的开头开始。

我怎样才能实现这一点 - 所以22号将从第2行开始?

enter image description here

3 个答案:

答案 0 :(得分:1)

首先,您对论坛用户的态度非常烦人。句子如“我知道你不会解决我的问题”或“请你读我的问题!”应该避免,因为在这里你可以找到帮助你的人,而不是那些付钱给你服务的人。

说,我认为解决问题的唯一方法是以编程方式获取屏幕宽度并评估屏幕上可以容纳多少TextView,然后使用嵌套的LinearLayout(外部垂直和内部水平)

答案 1 :(得分:1)

如果您仍在寻找解决方案,请认为这可能会有所帮助https://github.com/ApmeM/android-flowlayout

答案 2 :(得分:0)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView
        android:id="@+id/mylayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asdfffffffdfaffdffffsffdsffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" >
    </TextView>

</LinearLayout>