[英]Android: Have TextView width match ImageView in horizontal recyclerView
[英]Restrict the Width of an Android Horizontal ScrollView with nested TextView
我已經為列表視圖的自定義適配器編寫了以下代碼。 這是我的row_item.xml
<?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:orientation="vertical"
android:padding="10dp">
<HorizontalScrollView
android:layout_width="300dp"
android:layout_height="24dp"
android:id="@+id/horizontalScrollView">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="111111111111111111111111111111111111111111111111111111"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:scrollHorizontally="true"
android:maxLines = "1"
android:textSize="18sp" />
</HorizontalScrollView>
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/horizontalScrollView"
android:layout_marginTop="5dp"
android:text="$39.99"
android:textColor="@android:color/black" />
<ImageView
android:id="@+id/store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_favorite_border_black_24dp"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp" />
</RelativeLayout>
我將文本視圖置於水平滾動視圖中,因為許多文本項都非常長。 上面的代碼確實使它從左向右滾動並將其限制為一行,但是我希望scrollView在imageView之前結束。 下面是所需功能的圖片:
但是,當我運行該應用程序時,文本直接在imageView上方流血。
關於如何糾正這一點的任何想法?
更新1:這是我現在得到的:
這是因為RelativeLayout將視圖放在另一個視圖的頂部,當您滾動HorizontalScrollView時,實際上是在重繪它,並且將其繪制在ImageView的頂部。
嘗試用LinearLayout替換RelativeLayout,看看它是否固定。
編輯:我沒有看到下面的圖像。 嗯,這是因為您使用的是相對布局,而HorizontalScrollView的寬度是match_parent,並且視圖彼此頂部相互重疊。 嘗試將LinearLayout與width = 0px和weight = 1一起使用
編輯2:好的,所以您想要價格-HorizontalScreenView-ImageView? 這是整個代碼,只需復制並粘貼即可。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/horizontalScrollView"
android:layout_marginTop="5dp"
android:text="$39.99"
android:textColor="@android:color/black" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="0px"
android:layout_height="24dp"
android:layout_weight="1">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:maxLines="1"
android:scrollHorizontally="true"
android:text="111111111111111111111111111111111111111111111111111111"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:textSize="18sp" />
</HorizontalScrollView>
<ImageView
android:id="@+id/store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:src="@drawable/ic_favorite_border_black_24dp" />
</LinearLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.