我在xml中有一个垂直方向的线性布局。
LinearLayout linearLayoutRoot = (LinearLayout)findViewById(R.id.listViewCompareLinear);
我使用com.devsmart.android.ui.HorizontalListView
库进行水平ListView
滚动。我需要打个电话。以编程方式将水平滚动视图添加到上面的线性布局中(因为它是动态的,我不能通过xml使用)。
我做了以下事情:
for (int k = 0; k < selectBike.size(); k++) {
listView = new HorizontalListView(this, null);
linearLayoutRoot.addView(listView);
}
但是发生的事情是它只显示第一个HorizontalListView
,因为我认为它默认设置为匹配父级。我将背景颜色设置为HorizontalListView
,整个设备屏幕覆盖了该颜色。因此将其设置为wrap_content
可能会解决问题......
如何设置宽度以编程方式包装内容?
整个xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/horizontalListViewRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.bajaj.pulsar.pulsar.CompareListView">
//it contains listViews dynamically
<LinearLayout
android:id="@+id/listViewCompareLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
</LinearLayout>
<Button
android:id="@+id/compare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:paddingLeft="100dp"
android:paddingRight="100dp"
android:text="Compare" />
</RelativeLayout>
答案 0 :(得分:0)
使用LayoutParams。
listView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100));