cod*_*441 5 java android listview
现在,如果有一个高度为2行的列表项,那么所有行的高度都是两行
如何使行的高度独立于其他行.
列表显示
<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>
Run Code Online (Sandbox Code Playgroud)
行
<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>
Run Code Online (Sandbox Code Playgroud)
我正在使用扩展BaseAdapter的自定义适配器.getView没有什么特别的,只是一个viewholder patern我不改变高度或任何东西
Ahm*_*kri 10
为什么不尝试使高度= 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>
Run Code Online (Sandbox Code Playgroud)
更新:
检查这个答案

看起来您必须使文本视图在View.GONE空时可见。您可以在适配器实现中完成此操作。
pointsView.setText(pointsText);
pointsView.setVisibility(TextUtils.isEmpty(pointsText) ? View.GONE : View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)
但要小心,因为RelativeLayout当锚定视图可见时,您的视图已经存在,并且其规则可能会停止工作View.GONE。
在这种情况下,您可以尝试将文本大小设置为零,而不是更改视图可见性,但我自己还没有尝试过。
pointsView.setTextSize(TextUtils.isEmpty(pointsText) ? 0 : defaultSize);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10132 次 |
| 最近记录: |