java - 如何使我的 ListView 行具有不同的高度

标签 java android listview

现在如果有一个高度为 2 行的列表项,那么所有行的高度都是 2 行

如何使行的高度独立于其他行。

ListView

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

    <ListView
        android:id="@+id/user_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@null" />

</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingBottom="1dp"
    android:paddingTop="1dp"
    android:paddingLeft="8dp"
    android:paddingRight="8dp" >

    <TextView
        android:id="@+id/user_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:maxLines="2"
        android:ellipsize="middle"
        android:textColor="@android:color/holo_blue_dark"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/points"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="right"
        android:textStyle="bold" />

</LinearLayout>

我正在使用扩展 BaseAdapter 的自定义适配器。 getView 没有什么特别的,只是一个 viewholder 模式,我不改变高度或任何东西

最佳答案

你为什么不尝试让高度 = 0dp 和重量 1

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:paddingBottom="1dp"
    android:paddingTop="1dp"
    android:paddingLeft="8dp"
    android:paddingRight="8dp" >

    <TextView
        android:id="@+id/user_name"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:maxLines="2"
        android:ellipsize="middle"
        android:textColor="@android:color/holo_blue_dark"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/points"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:gravity="right"
        android:textStyle="bold" />

</LinearLayout>

更新:

检查这个答案

https://stackoverflow.com/a/7513423/1932105

enter image description here

关于java - 如何使我的 ListView 行具有不同的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236008/

相关文章:

android - 如何使用 SHOW_OR_CREATE_CONTACT 操作正确设置 android Intent ?

Android:listView Adapter 应该是您的 ViewModel 类的一部分吗?

android - Textview不跳到下一行android

android - 非根设备 (Android L) 上的设备所有者,没有 NFC,使用 adb shell,dpm set-device-owner

java - 编写 bash 脚本来使用命令行参数运行 java 程序?

java - 减少 Swing 应用程序耦合的设计模式

android - 将动态线性布局添加到 ListView

c# - ListView 跳过第一列

java - Redis hash写入速度非常慢

java - 提供者扩展