gpt4 book ai didi

android - 在列表的每一行添加溢出图标

转载 作者:行者123 更新时间:2023-11-29 15:41:35 25 4
gpt4 key购买 nike

我正在尝试向列表的每一行添加溢出图标(以显示弹出菜单)。每行左侧有图像 (70dp*70dp),右侧有溢出图标图像 (27dp*70dp)。

我现在的布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:paddingLeft="7dp"
android:paddingStart="7dp"
android:paddingRight="7dp"
android:paddingEnd="7dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:clickable="true"
android:background="?android:attr/selectableItemBackground"
android:orientation="vertical">

<!-- ListRow Left side Thumbnail image -->
<LinearLayout android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginRight="5dip"
android:layout_marginEnd="5dip">

<ImageView
android:id="@+id/neighborlisticon"
android:contentDescription="@string/icon_description"
android:layout_width="70dip"
android:layout_height="70dip"/>
</LinearLayout>

<TextView
android:id="@+id/name"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/name"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<TextView
android:id="@+id/middleline"
android:textSize="13sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/middleline"
android:layout_below="@id/name"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<TextView
android:id="@+id/text"
android:textSize="14sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:layout_below="@id/middleline"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<ImageView
android:id="@+id/item_overflow"
android:layout_width="27dp"
android:layout_height="70dip"
android:layout_gravity="top|right"
android:padding="5dp"
android:scaleType="center"
android:src="@drawable/ic_more_vert_black_24dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

</RelativeLayout>

但是有了这个,中间行的文本与右侧的溢出图标 item_overflow 重叠。我不想要的。问题是,点击溢出图标被视为点击行,因此弹出菜单永远不会出现。

如何在 RelativeLayout 中指定左图与左侧对齐,右图与右侧对齐,并将中间所有可用空间用于 TextView ?

最佳答案

您使用此布局在右侧重叠图像(三个点)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:paddingLeft="7dp"
android:paddingStart="7dp"
android:paddingRight="7dp"
android:paddingEnd="7dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:clickable="true"
android:background="?android:attr/selectableItemBackground"
android:orientation="vertical">

<!-- ListRow Left side Thumbnail image -->
<LinearLayout android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginRight="5dip"
android:layout_marginEnd="5dip">

<ImageView
android:id="@+id/neighborlisticon"
android:contentDescription="@string/icon_description"
android:layout_width="70dip"
android:layout_height="70dip"/>
</LinearLayout>

<TextView
android:id="@+id/name"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/name"
android:layout_toLeftOf="@id/item_overflow"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<TextView
android:id="@+id/middleline"
android:textSize="13sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/middleline"
android:layout_toLeftOf="@id/item_overflow"
android:layout_below="@id/name"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<TextView
android:id="@+id/text"
android:textSize="14sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:layout_toLeftOf="@id/item_overflow"
android:layout_below="@id/middleline"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"/>

<ImageView
android:id="@+id/item_overflow"
android:layout_width="27dp"
android:layout_height="70dip"
android:layout_gravity="top|right"
android:padding="5dp"
android:scaleType="center"
android:src="@drawable/ic_more_vert_black_24dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

android:layout_toLeftOf="@id/item_overflow"和 android:layout_toStartOf="@id/item_overflow"用于解决文件中的重叠问题。

关于android - 在列表的每一行添加溢出图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306580/

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