Files
sodalive-android/app/src/main/res/layout/item_chat_user_message.xml
klaus dd7251f18b fix(chat-room): 채팅 아이템 UI, 메시지 입력 창 UI
- 채팅 아이템이 화면을 벗어나는 버그 수정
- 메시지 입력창 글자크기 14sp, rounded corner 32dp
2025-08-15 00:29:56 +09:00

74 lines
3.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!--
사용자 메시지 아이템 레이아웃
- 오른쪽 정렬된 메시지 버블
- 버블의 왼쪽에 시간 표시
- 실패 시 재전송 버튼 노출
- 배경: @drawable/bg_chat_user_message
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="12dp"
android:paddingTop="6dp"
android:paddingEnd="12dp"
android:paddingBottom="6dp">
<!-- 전송 시간: 버블의 왼쪽에 표시 -->
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:fontFamily="@font/pretendard_regular"
android:includeFontPadding="false"
android:textColor="@color/color_777777"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@id/message_container"
app:layout_constraintEnd_toStartOf="@id/message_container" />
<!-- 메시지 버블 컨테이너: 오른쪽 정렬 -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/message_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_chat_user_message"
android:paddingHorizontal="14dp"
android:paddingVertical="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:breakStrategy="balanced"
android:ellipsize="end"
android:fontFamily="@font/pretendard_regular"
android:hyphenationFrequency="normal"
android:includeFontPadding="false"
android:lineSpacingExtra="2dp"
android:maxLines="1000"
android:textColor="@android:color/white"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- 재전송 버튼: FAILED 상태일 때만 보임 -->
<ImageView
android:id="@+id/iv_retry"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="6dp"
android:layout_marginTop="-8dp"
android:background="@android:color/transparent"
android:contentDescription="@string/action_retry"
android:src="@android:drawable/ic_popup_sync"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>