我从服务器获取字符串数。
我想在如下图的布局上显示它
每次我都会得到不同类型的字符串。那么如何为textview创建动态布局呢?
可能是您正在寻找一个Flow Layout
.
使用此代码,我们可以使用内部 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>
它很容易只需将刺添加到数组/数组列表中并从中制作arrayadapter。然后将它传递给listView 或DridView
您可以使用表格布局来动态实现这一点。但我认为您希望以之字形方式进行布局,例如:
------------------ ------------------ ------------------ ------------------
所以你可以使用ListView
(高效)来做到这一点,但如果你不想要这种模式并且你的行数不超过 5-10,那么你可以选择TableLayout