gpt4 book ai didi

java - Android 自定义 ListViewItem 布局

转载 作者:数据小太阳 更新时间:2023-10-29 02:59:05 26 4
gpt4 key购买 nike

我不太明白我的 ListView 项目的布局没有按我想要的方式显示。我希望有人能给我一些提示,因为我现在不能让它工作很长一段时间。我想要的是:

enter image description here

这是我的方法:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="20dip"
android:padding="6dip">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="3dip">
<TextView
android:id="@+id/nametext"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="7dip">
<ImageView
android:id="@+id/photo"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="6dip"
android:src="@drawable/icon" />
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/middletext"
android:singleLine="true"
android:ellipsize="marquee"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/bottomtext"
android:singleLine="true"
android:ellipsize="marquee"
/>
</LinearLayout>
<ImageView
android:id="@+id/stars"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="6dip"
android:src="@drawable/icon" />
</LinearLayout>

如有任何帮助,我们将不胜感激。我已经尝试过不同的尺寸和 RelativeLayout。没变化。它看起来不像我想的那样。

编辑缺失三个空格

edit2 添加图片

最佳答案

您可以使用 LinearLayouts 做到这一点,但您需要三个嵌套布局:

  1. 包含所有内容的垂直 LinearLayout。
  2. 一个水平 LinearLayout,包含标题以外的所有内容。
  3. 包含非标题 TextView 的垂直 LinearLayout。

内部垂直 LinearLayout 可能需要 android:layout_weight="1" 以便它拉伸(stretch)以填充可用空间但不会挤压右侧的 ImageView。

这一切都非常昂贵,尤其是当乘以 ListView 中的众多 View 时。 RelativeLayout 只需一个布局即可完成此操作。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="6dip" >
<TextView
android:id="@+id/textView1"
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:textSize="40sp">
</TextView>
<ImageView
android:id="@+id/imageView1"
android:layout_below="@+id/textView1"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" >
</ImageView>
<ImageView
android:id="@+id/imageView2"
android:layout_below="@+id/textView1"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" >
</ImageView>
<TextView
android:id="@+id/textView2"
android:layout_below="@+id/textView1"
android:layout_toRightOf="@+id/imageView1"
android:layout_toLeftOf="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="TextView" >
</TextView>
<TextView
android:id="@+id/textView3"
android:layout_below="@+id/textView2"
android:layout_toRightOf="@+id/imageView1"
android:layout_toLeftOf="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="TextView" >
</TextView>
<TextView
android:id="@+id/textView4"
android:layout_below="@+id/textView3"
android:layout_toRightOf="@+id/imageView1"
android:layout_toLeftOf="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="TextView" >
</TextView>
</RelativeLayout>

编辑格式和添加:

这是结果。当然,文字和图片大小需要调整,但基本结果就是你描述的那样。

ListView screenshot

关于java - Android 自定义 ListViewItem 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5515192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com