将Android ListView行高设置为最大行

时间:2015-04-06 15:49:17

标签: java android android-listview

我有ListView在我的Android活动上显示一些文字。我面临的问题是某些文本比另一文本大,因此ListView行的大小不同。 我希望所有的行都是最大的行。这样,所有文本都将显示,并且它们都将具有相同的大小。 这是我的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <CheckBox
            android:id="@+id/favorite_checkbox"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            style="?android:attr/starStyle"
            android:layout_weight="1"
            />
    <TextView
        android:id="@+id/IdText"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="2"
        />

    <TextView
        android:id="@+id/StationNameText"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="2"
        />

    </LinearLayout>

</LinearLayout>

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

你可以获得“最高”的高度。以编程方式查看 - How to get an Android widget's size after layout is calculated?,然后将该高度设置为其他布局。

我会做这样的事情:

    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    int height = displaymetrics.heightPixels;
    int width = displaymetrics.widthPixels;

int HeightOfTallestView = //method you choose from link above

IdText.setLayoutParams(new LinearLayout.LayoutParams(width, HeightOfTallestView ));

如果这对你有用,请告诉我。