簡體   English   中英

Android textview 寬度不一樣

[英]Android textview width not same

我正在做聊天系統。 所以我需要做 UI 來顯示消息和發送時間。
請先看下面的圖片。 紅色是文本視圖寬度,藍色是發送時間文本視圖寬度。 現在我將發送時間設置在文本視圖的右側。
我想設置發送時間文本視圖有一個邊距。 但是你可以看到文本視圖的寬度是不一樣的。 所以我不是硬編碼邊距。 所以任何人都可以給我一些有用的建議給我。 十分感謝。

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline"
    android:layout_width="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.60"
    android:layout_height="wrap_content"/>

<TextView
    android:id="@+id/tvMessage"
    android:layout_width="0dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="@id/guideline"
    android:layout_height="wrap_content"
    android:textColor="@color/white_color"
    android:background="@color/red_color"
    android:maxWidth="@dimen/_151sdp"
    android:textStyle="bold"
    android:minWidth="30dp"/>

<TextView
    android:id="@+id/tvDateTime"
    android:layout_width="0dp"
    app:layout_constraintBottom_toBottomOf="@id/tvMessage"
    app:layout_constraintEnd_toEndOf="@id/tvMessage"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/tvMessage"
    android:layout_toRightOf="@id/tvMessage"
    android:textColor="@color/chat_mag_date_time"/>

</androidx.constraintlayout.widget.ConstraintLayout>

要在另一個組件中使用組件,您可以使用以下內容: CardViewFrameLayoutConstraintLayout

像這樣的ConstraintLayout

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/msg_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/cardview_dark_background">

    <TextView
        android:id="@+id/tvMessage"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:maxWidth="151dp"
        android:minWidth="30dp"
        android:text="fdsfdsfd
dsadas
asd
asd
as"
        android:textColor="@color/black"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginEnd="8dp"
        />

    <TextView
        android:id="@+id/tvDateTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/tvMessage"
        android:layout_toRightOf="@id/tvMessage"
        android:text="1234"
        android:textColor="@color/purple_700"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tvMessage"
        android:layout_marginStart="8dp"
        />
</androidx.constraintlayout.widget.ConstraintLayout>

將以下對齊添加到 TextView "tvDateTime"

android:layout_alignBottom="@id/tvMessage"
android:layout_alignRight="@id/tvMessage"

並刪除額外的 alignment 指令,因此您的 TextView 代碼將變為:

<TextView
    android:id="@+id/tvDateTime"
    android:layout_width="wrap_content"
    android:text="12:45"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/tvMessage"
    android:layout_alignRight="@id/tvMessage"
    android:textColor="@color/grey"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM