我想以编程方式将多个RelativeLayout放在一个LinearLayout中。而不是使用ListView。我的布局XML如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_select_app" >
<ScrollView
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#80000000" >
<LinearLayout
android:id="@+id/parent_linear_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#FFFFFF" >
</LinearLayout>
</ScrollView>
</RelativeLayout>
以下是我想在LinearLayout中添加为子项的RelativeLayout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="280dp"
android:layout_height="40dp"
android:background="@drawable/row"
android:gravity="center" >
<TextView
android:id="@+id/name_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="#333333" />
</RelativeLayout>
我可以通过编程方式进行吗?提前谢谢。
答案 0 :(得分:0)
尝试这样:
public void testgenerate() {
LinearLayout rootLaout=findViewById(R.id.idofliner);
LayoutInflater layoutInflater = getLayoutInflater();
for(int i=0;i<10;i++){
RelativeLayout inflate = (RelativeLayout) layoutInflater.inflate(R.layout.relativelayutid, null);
rootLaout.addView(inflate);
}
}
答案 1 :(得分:0)
通常不需要在LinearLayout中嵌套RelativeLayout,只需一个RelativeLayout即可实现与Linearlayout相同(因此您的视图层次结构有一个布局少于遍历 - &gt;提高性能)或者如果您只是想要垂直/水平对齐元素而不是只使用一个LinearLayout而不是额外的RelativeLayout
我不确定你想做什么,但对我而言,听起来像您正在寻找的RecyclerView或ListView?