如何在两个图像视图之间设置文本视图高度

发布于 2025-02-12 02:39:34 字数 6237 浏览 0 评论 0原文

我有一个textView以显示订单项目和数量。但是它与上方和下方的分隔线重叠。如何解决这个问题?

<?xml version="1.0" encoding="utf-8"?><!--https://www.youtube.com/watch?v=18VcnYN5_LM !-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:animateLayoutChanges="true"
    android:animationCache="true"
    android:gravity="center|start"
    android:orientation="vertical"
    android:padding="0dp">


    <com.google.android.material.card.MaterialCardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="10dp"
        android:elevation="50dp"
        app:strokeColor="@color/grey600"
        app:strokeWidth="1dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.skydoves.androidribbon.RibbonView
                android:id="@+id/order_status_ribbon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fontFamily="@font/poppins_bold"
                android:letterSpacing=".10"
                android:text="@string/order_status"
                android:textColor="#FFFFFF"
                android:textSize="12sp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.0"
                app:ribbon_background_color="@color/primaryYellow"
                app:ribbon_padding_top="4dp"
                app:ribbon_ribbonRadius="4dp"
                app:textAllCaps="true" />

            <TextView
                android:id="@+id/order_id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginTop="8dp"
                android:fontFamily="@font/poppins_semibold"
                android:text="@string/sample_order_id"
                android:textColor="#000000"
                android:textSize="14sp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/order_status_ribbon" />

            <TextView
                android:id="@+id/order_date_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginTop="4dp"
                android:fontFamily="@font/poppins"
                android:text="@string/date_amp_time"
                android:textColor="@color/grey600"
                android:textSize="11sp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/order_id" />

            <ImageView
                android:id="@+id/dotted_line_order_after_date_time"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:layout_marginTop="8dp"
                android:layerType="software"
                android:src="@drawable/dotted"
                app:layout_constraintTop_toBottomOf="@+id/order_date_time"
                tools:layout_editor_absoluteX="0dp" />


            <TextView
                android:id="@+id/order_items"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:fontFamily="@font/poppins"
                android:text="@string/order_items_and_quantity"
                android:textColor="@color/black"
                app:layout_constraintBottom_toTopOf="@+id/dotted_line_order"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/dotted_line_order_after_date_time"
                app:layout_constraintVertical_bias="0.418" />

            <ImageView
                android:id="@+id/dotted_line_order"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:layout_marginTop="80dp"
                android:layerType="software"
                android:src="@drawable/dotted"
                app:layout_constraintTop_toBottomOf="@+id/order_date_time"
                tools:layout_editor_absoluteX="0dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp"
                android:fontFamily="@font/poppins_medium"
                android:gravity="center"
                android:paddingBottom="10dp"
                android:text="@string/view_details"
                android:textColor="@color/black"
                app:layout_constraintTop_toBottomOf="@+id/dotted_line_order"
                tools:layout_editor_absoluteX="0dp" />


        </androidx.constraintlayout.widget.ConstraintLayout>
    </com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>

示例图像在

”可以在图像中看到订购项目和数量 textViewimageView重叠。 textView的文本来自StringBuffer

 sb.append(n.getInt("quantiy"));
 sb.append(" X ");
 sb.append(n.getString("name"));
 sb.append("\n");
 holder.orderItems.setText(sb);

I have a TextView to display order items and quantity. But it overlaps with the divider lines above and below. How to fix this?

<?xml version="1.0" encoding="utf-8"?><!--https://www.youtube.com/watch?v=18VcnYN5_LM !-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:animateLayoutChanges="true"
    android:animationCache="true"
    android:gravity="center|start"
    android:orientation="vertical"
    android:padding="0dp">


    <com.google.android.material.card.MaterialCardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="10dp"
        android:elevation="50dp"
        app:strokeColor="@color/grey600"
        app:strokeWidth="1dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.skydoves.androidribbon.RibbonView
                android:id="@+id/order_status_ribbon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fontFamily="@font/poppins_bold"
                android:letterSpacing=".10"
                android:text="@string/order_status"
                android:textColor="#FFFFFF"
                android:textSize="12sp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.0"
                app:ribbon_background_color="@color/primaryYellow"
                app:ribbon_padding_top="4dp"
                app:ribbon_ribbonRadius="4dp"
                app:textAllCaps="true" />

            <TextView
                android:id="@+id/order_id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginTop="8dp"
                android:fontFamily="@font/poppins_semibold"
                android:text="@string/sample_order_id"
                android:textColor="#000000"
                android:textSize="14sp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/order_status_ribbon" />

            <TextView
                android:id="@+id/order_date_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginTop="4dp"
                android:fontFamily="@font/poppins"
                android:text="@string/date_amp_time"
                android:textColor="@color/grey600"
                android:textSize="11sp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/order_id" />

            <ImageView
                android:id="@+id/dotted_line_order_after_date_time"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:layout_marginTop="8dp"
                android:layerType="software"
                android:src="@drawable/dotted"
                app:layout_constraintTop_toBottomOf="@+id/order_date_time"
                tools:layout_editor_absoluteX="0dp" />


            <TextView
                android:id="@+id/order_items"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:fontFamily="@font/poppins"
                android:text="@string/order_items_and_quantity"
                android:textColor="@color/black"
                app:layout_constraintBottom_toTopOf="@+id/dotted_line_order"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/dotted_line_order_after_date_time"
                app:layout_constraintVertical_bias="0.418" />

            <ImageView
                android:id="@+id/dotted_line_order"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:layout_marginTop="80dp"
                android:layerType="software"
                android:src="@drawable/dotted"
                app:layout_constraintTop_toBottomOf="@+id/order_date_time"
                tools:layout_editor_absoluteX="0dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp"
                android:fontFamily="@font/poppins_medium"
                android:gravity="center"
                android:paddingBottom="10dp"
                android:text="@string/view_details"
                android:textColor="@color/black"
                app:layout_constraintTop_toBottomOf="@+id/dotted_line_order"
                tools:layout_editor_absoluteX="0dp" />


        </androidx.constraintlayout.widget.ConstraintLayout>
    </com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>

Sample image is found in https://i.sstatic.net/Zg6Mq.jpg

As you can see in the image the order items and quantity TextView is overlapping with ImageView. The text for TextView comes from a StringBuffer

 sb.append(n.getInt("quantiy"));
 sb.append(" X ");
 sb.append(n.getString("name"));
 sb.append("\n");
 holder.orderItems.setText(sb);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北方。的韩爷 2025-02-19 02:39:34

dotted_line_order imageView限制为order_date_time使用app:layout_contrainttop_tobottomof =“@+in@+ID/order_date_time”

当重叠的order_items textView限制为dotted_line_order带有app的imageView app:layout_constraintbottom_totopof =“@+ID/dotted_line_line_order”

这两个约束都将使order_itemsdotted_line_order重叠。

您需要替换第一个约束以约束到order_items而不是order> order_date_time,因此它应该是app:layout_constraint_constrainttop_tobottomof =“@+id/dord/dord/dord ind/dord/dords/dord/dordem_items”

<ImageView
    android:id="@+id/dotted_line_order"
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:layout_marginTop="80dp"
    android:layerType="software"
    app:layout_constraintTop_toBottomOf="@+id/order_items" 
    android:src="@drawable/dotted" />

另外,请检查80dp的边距是否有些大。

The dotted_line_order ImageView constrained to order_date_time TextView Using app:layout_constraintTop_toBottomOf="@+id/order_date_time".

While the overlapped order_items TextView constrained to dotted_line_order ImageView with app:layout_constraintBottom_toTopOf="@+id/dotted_line_order".

Both constraints will make the order_items overlaps with the dotted_line_order.

You need to replace the 1st constraint to be constrained to the order_items instead of the order_date_time, so it should be app:layout_constraintTop_toBottomOf="@+id/order_items"

<ImageView
    android:id="@+id/dotted_line_order"
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:layout_marginTop="80dp"
    android:layerType="software"
    app:layout_constraintTop_toBottomOf="@+id/order_items" 
    android:src="@drawable/dotted" />

Also, check if 80dp margin as it seems some how big.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文