1

我从服务器获取字符串数。

我想在如下图的布局上显示它在此处输入图像描述

每次我都会得到不同类型的字符串。那么如何为textview创建动态布局呢?

4

4 回答 4

2

可能是您正在寻找一个Flow Layout.

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

于 2013-09-03T06:58:49.233 回答
0

使用此代码,我们可以使用内部 textview 动态创建线性布局。如果你愿意,只需将代码修改为你喜欢的,上面问的..

 onCreate() Method : 

private Button[] btnAdd ,btnQuestionPalete ; // GLobally
private LinearLayout layout_button ;

layout_button = (LinearLayout) findViewById(R.id.button_layout);

btnAdd = new Button[100] ;

 LayoutParams param2 = new LinearLayout.LayoutParams(
 LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f);

    btnQuestionPalete = new Button[100];
    for (int i = 0; i < noOfButton; i++) {

    linearQuestionPalettesRow = new LinearLayout(getApplicationContext());
    linearQuestionPalettesRow.setOrientation(LinearLayout.VERTICAL);
    linearQuestionPalettesRow.setLayoutParams(param2);
    linearQuestionPalettesRow.setPadding(10, 10, 10, 10);

            textView[i] = new TextView(getApplicationContext());
            textView[i].setId(i+1);
            textView[i].setText("test");
            textView[i].setTextColor(Color.BLACK);
            textView[i].setGravity(Gravity.CENTER_HORIZONTAL);
            linearQuestionPalettesRow.addView(textView[i]);
            layout_button.addView(linearQuestionPalettesRow);
        }


xml code :
<LinearLayout
        android:id="@+id/button_layout"
        android:layout_width="wrap_content"
        android:layout_height="75dp"
        android:orientation="horizontal"
         >



        </LinearLayout>
于 2013-09-03T06:58:12.437 回答
0

它很容易只需将刺添加到数组/数组列表中并从中制作arrayadapter。然后将它传递给listViewDridView

于 2013-09-03T07:04:34.937 回答
0

您可以使用表格布局来动态实现这一点。但我认为您希望以之字形方式进行布局,例如:

------------------
  ------------------
------------------
  ------------------

所以你可以使用ListView(高效)来做到这一点,但如果你不想要这种模式并且你的行数不超过 5-10,那么你可以选择TableLayout

于 2013-09-03T07:17:54.890 回答