将内容dynamic添加到线性布局?
例如,如果我已经定义了一个垂直方向的根线性布局:
main.xml :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- I would like to add content here dynamically.--> </LinearLayout>
在根线性布局里面,我想添加多个子线性布局 ,每个子线性布局方向都是水平的 。 有了这些,我最终可以得到一个类似输出的表格。
例如root与子布局如:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" <!-- 1st child (1st row)--> <LinearLayout ... android:orientation="horizontal"> <TextView .../> <TextView .../> <TextView .../> </LinearLayout> <!-- 2nd child (2nd row)--> ... </LinearLayout>
由于子线性布局的数量及其内容是相当dynamic的,我决定以编程方式将内容添加到根线性布局。
第二个布局如何以编程的方式添加到第一个布局,这也可以设置每个孩子的所有布局属性,并添加更多的孩子内的其他元素?
在你的onCreate()
,写下面的内容
LinearLayout myRoot = (LinearLayout) findViewById(R.id.my_root); LinearLayout a = new LinearLayout(this); a.setOrientation(LinearLayout.HORIZONTAL); a.addView(view1); a.addView(view2); a.addView(view3); myRoot.addView(a);
view1
, view2
和view3
是你的TextView
。 他们很容易创build编程。
LinearLayout layout = (LinearLayout)findViewById(R.id.layout); View child = getLayoutInflater().inflate(R.layout.child, null); layout.addView(child);
您可以像这样实现LinearLayout级联:
LinearLayout root = (LinearLayout) findViewById(R.id.my_root); LinearLayout llay1 = new LinearLayout(this); root.addView(llay1); LinearLayout llay2 = new LinearLayout(this); llay1.addView(llay2);
- android活动泄露了窗口com.android.internal.policy.impl.phonewindow $ decorview问题
- Android更改Horizonal Progress bar颜色
- HttpURLConnection java.io.FileNotFoundException
- 如何显示进度,同时加载一个url到android的webview?
- 如何在ActionBar的溢出菜单中显示图标
- 什么在TtsService可以解释缺乏onUtteranceCompleted()playEarcon()?
- onCheckedChanged自动调用
- 如何创build一个封闭的(循环)ListView?
- 通过Wi-Fi运行/安装/debuggingAndroid应用程序?