使用com.devsmart.android.ui.Horizo​​ntalListView库如何以编程方式设置换行内容

时间:2016-06-15 11:34:19

标签: android listview

我在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>

1 个答案:

答案 0 :(得分:0)

使用LayoutParams

 listView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100));