feat:使用动态比例实现飘窗礼物布局(待验证)

This commit is contained in:
Max
2023-10-28 12:25:24 +08:00
parent 15a80f5537
commit ebc989cccf
2 changed files with 167 additions and 3 deletions

View File

@@ -16,7 +16,7 @@
android:layout_height="69dp"
android:background="@drawable/all_service_gift_bg_1">
<com.yizhuan.erban.common.widget.CircleImageView
<ImageView
android:id="@+id/iv_avatar_bg"
android:layout_width="88dp"
android:layout_height="69dp"
@@ -47,7 +47,6 @@
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
@@ -73,8 +72,11 @@
android:textSize="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_room_go"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/iv_room"
app:layout_constraintTop_toBottomOf="@id/tv_message"
app:layout_constraintWidth_default="wrap"
tools:text="XXXXXXXX" />
<TextView
@@ -91,6 +93,7 @@
android:textSize="10dp"
app:layout_constraintBottom_toBottomOf="@id/tv_room_name"
app:layout_constraintEnd_toStartOf="@id/iv_gift"
app:layout_constraintStart_toEndOf="@id/tv_room_name"
app:layout_constraintTop_toTopOf="@id/tv_room_name" />
@@ -120,6 +123,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
android:ellipsize="end"
android:fontFamily="sans-serif-medium"
android:maxWidth="120dp"
android:singleLine="true"
android:text="@{`X` + giftBean.giftNum}"
@@ -129,7 +133,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="X100000000000000" />
tools:text="X1000" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<data>
<variable
name="giftBean"
type="com.yizhuan.xchat_android_core.noble.AllServiceGiftProtocol.DataBean" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@drawable/all_service_gift_bg_1"
app:layout_constraintDimensionRatio="h,375:69"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_avatar_frame"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="@id/iv_avatar"
app:layout_constraintDimensionRatio="w,89:69"
app:layout_constraintEnd_toEndOf="@id/iv_avatar"
app:layout_constraintStart_toStartOf="@id/iv_avatar"
app:layout_constraintTop_toTopOf="@id/iv_avatar"
tools:background="@color/black" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_content_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.0586" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar"
avatarUrl="@{giftBean.sendUserAvatar}"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="w,1:1"
app:layout_constraintHeight_percent="0.6376"
app:layout_constraintStart_toStartOf="@id/line_content_start"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/default_avatar" />
<TextView
android:id="@+id/tv_message"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginEnd="4.5dp"
android:layout_marginBottom="5dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:includeFontPadding="false"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="14dp"
app:layout_constraintBottom_toTopOf="@id/tv_room_name"
app:layout_constraintEnd_toStartOf="@id/iv_gift"
app:layout_constraintStart_toEndOf="@id/iv_avatar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="XXX 送给 XXX XXXX" />
<TextView
android:id="@+id/tv_room_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="2.5dp"
android:layout_marginEnd="4.5dp"
android:includeFontPadding="false"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_room_go"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/iv_room"
app:layout_constraintTop_toBottomOf="@id/tv_message"
app:layout_constraintWidth_default="wrap"
tools:text="X11111111111111111" />
<TextView
android:id="@+id/tv_room_go"
android:layout_width="wrap_content"
android:layout_height="19dp"
android:layout_marginEnd="2dp"
android:background="@drawable/all_service_gift_bg_room_go1"
android:gravity="center"
android:paddingHorizontal="7.5dp"
android:singleLine="true"
android:text="@string/all_service_gift_room_go"
android:textColor="@color/white"
android:textSize="10dp"
app:layout_constraintBottom_toBottomOf="@id/tv_room_name"
app:layout_constraintEnd_toStartOf="@id/iv_gift"
app:layout_constraintStart_toEndOf="@id/tv_room_name"
app:layout_constraintTop_toTopOf="@id/tv_room_name" />
<ImageView
android:id="@+id/iv_room"
android:layout_width="12dp"
android:layout_height="12dp"
android:src="@drawable/all_service_gift_ic_room"
app:layout_constraintBottom_toBottomOf="@id/tv_room_name"
app:layout_constraintStart_toStartOf="@id/tv_message"
app:layout_constraintTop_toTopOf="@id/tv_room_name" />
<ImageView
android:id="@+id/iv_gift"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="w,1:1"
app:layout_constraintEnd_toStartOf="@id/tv_count"
app:layout_constraintHeight_percent="0.9275"
app:layout_constraintTop_toTopOf="parent"
tools:background="@color/black" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_content_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.9413" />
<TextView
android:id="@+id/tv_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxWidth="180dp"
android:singleLine="true"
android:textColor="@color/color_FFE468"
android:textSize="16dp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@id/line_content_end"
app:layout_constraintTop_toTopOf="parent"
tools:text="X10000" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>