474 lines
21 KiB
XML
474 lines
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.coordinatorlayout.widget.CoordinatorLayout 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="match_parent"
|
|
android:background="#FFFFFF">
|
|
|
|
<com.google.android.material.appbar.AppBarLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:background="@drawable/bg_profile_header_gradient"
|
|
app:elevation="0dp">
|
|
|
|
<!-- 顶部工具栏 -->
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:paddingStart="16dp"
|
|
android:paddingEnd="16dp"
|
|
android:paddingTop="12dp"
|
|
android:paddingBottom="8dp">
|
|
|
|
<ImageView
|
|
android:id="@+id/backButton"
|
|
android:layout_width="32dp"
|
|
android:layout_height="32dp"
|
|
android:background="@drawable/bg_circle_white_60"
|
|
android:padding="8dp"
|
|
android:src="@drawable/ic_arrow_back_24"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
app:tint="@android:color/white" />
|
|
|
|
<TextView
|
|
android:id="@+id/titleText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="个人主页"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold"
|
|
app:layout_constraintBottom_toBottomOf="@id/backButton"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="@id/backButton" />
|
|
|
|
<ImageView
|
|
android:id="@+id/moreButton"
|
|
android:layout_width="32dp"
|
|
android:layout_height="32dp"
|
|
android:background="@drawable/bg_circle_white_60"
|
|
android:padding="8dp"
|
|
android:src="@drawable/ic_menu_24"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
app:tint="@android:color/white" />
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
</com.google.android.material.appbar.AppBarLayout>
|
|
|
|
<androidx.core.widget.NestedScrollView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:fillViewport="true"
|
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical">
|
|
|
|
<!-- 用户信息头部 -->
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:background="@drawable/bg_profile_header_gradient"
|
|
android:paddingStart="16dp"
|
|
android:paddingEnd="16dp"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="60dp">
|
|
|
|
<!-- 头像 -->
|
|
<FrameLayout
|
|
android:id="@+id/avatarContainer"
|
|
android:layout_width="80dp"
|
|
android:layout_height="80dp"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent">
|
|
|
|
<de.hdodenhof.circleimageview.CircleImageView
|
|
android:id="@+id/avatarImage"
|
|
android:layout_width="80dp"
|
|
android:layout_height="80dp"
|
|
android:src="@drawable/ic_person_24"
|
|
app:civ_border_color="@android:color/white"
|
|
app:civ_border_width="2dp" />
|
|
|
|
<!-- 直播中标识 -->
|
|
<TextView
|
|
android:id="@+id/liveTag"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_gravity="bottom|center_horizontal"
|
|
android:background="@drawable/bg_live_tag"
|
|
android:paddingStart="8dp"
|
|
android:paddingEnd="8dp"
|
|
android:paddingTop="2dp"
|
|
android:paddingBottom="2dp"
|
|
android:text="直播中"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="10sp"
|
|
android:visibility="gone" />
|
|
|
|
</FrameLayout>
|
|
|
|
<!-- 昵称 -->
|
|
<TextView
|
|
android:id="@+id/nicknameText"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="12dp"
|
|
android:ellipsize="end"
|
|
android:maxLines="1"
|
|
android:text="用户昵称"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toEndOf="@id/avatarContainer"
|
|
app:layout_constraintTop_toTopOf="@id/avatarContainer" />
|
|
|
|
<!-- ID -->
|
|
<TextView
|
|
android:id="@+id/userIdText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="12dp"
|
|
android:layout_marginTop="4dp"
|
|
android:text="ID: 12345678"
|
|
android:textColor="#E6FFFFFF"
|
|
android:textSize="12sp"
|
|
app:layout_constraintStart_toEndOf="@id/avatarContainer"
|
|
app:layout_constraintTop_toBottomOf="@id/nicknameText" />
|
|
|
|
<!-- 个性签名 -->
|
|
<TextView
|
|
android:id="@+id/bioText"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="12dp"
|
|
android:layout_marginTop="8dp"
|
|
android:ellipsize="end"
|
|
android:maxLines="2"
|
|
android:text="这个人很懒,什么都没写~"
|
|
android:textColor="#CCFFFFFF"
|
|
android:textSize="13sp"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toEndOf="@id/avatarContainer"
|
|
app:layout_constraintTop_toBottomOf="@id/userIdText" />
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
<!-- 主卡片区域 -->
|
|
<androidx.cardview.widget.CardView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="-48dp"
|
|
app:cardBackgroundColor="@android:color/white"
|
|
app:cardCornerRadius="16dp"
|
|
app:cardElevation="4dp">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:padding="16dp">
|
|
|
|
<!-- 主播统计区域(仅主播显示) -->
|
|
<LinearLayout
|
|
android:id="@+id/streamerStatsContainer"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:visibility="gone">
|
|
|
|
<LinearLayout
|
|
android:id="@+id/worksLayout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="center"
|
|
android:orientation="vertical"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/worksCountText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="0"
|
|
android:textColor="#333333"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="作品"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/followingLayout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="center"
|
|
android:orientation="vertical"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/followingCountText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="0"
|
|
android:textColor="#333333"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="关注"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/followersLayout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="center"
|
|
android:orientation="vertical"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/followersCountText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="0"
|
|
android:textColor="#333333"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="粉丝"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/likesLayout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="center"
|
|
android:orientation="vertical"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/likesCountText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="0"
|
|
android:textColor="#333333"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="获赞"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- 普通用户统计区域 -->
|
|
<LinearLayout
|
|
android:id="@+id/userStatsContainer"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:visibility="gone">
|
|
|
|
<LinearLayout
|
|
android:id="@+id/likedRoomsLayout"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="center"
|
|
android:orientation="vertical"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/likedRoomsCountText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="0"
|
|
android:textColor="#333333"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="收藏"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- 分隔线 -->
|
|
<View
|
|
android:layout_width="match_parent"
|
|
android:layout_height="1dp"
|
|
android:layout_marginTop="12dp"
|
|
android:layout_marginBottom="12dp"
|
|
android:background="#F0F0F0" />
|
|
|
|
<!-- 操作按钮区域 -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal">
|
|
|
|
<!-- 关注按钮 -->
|
|
<TextView
|
|
android:id="@+id/followButton"
|
|
android:layout_width="0dp"
|
|
android:layout_height="44dp"
|
|
android:layout_marginEnd="8dp"
|
|
android:layout_weight="1"
|
|
android:background="@drawable/bg_follow_btn"
|
|
android:gravity="center"
|
|
android:text="关注"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="15sp" />
|
|
|
|
<!-- 私信按钮 -->
|
|
<TextView
|
|
android:id="@+id/messageButton"
|
|
android:layout_width="0dp"
|
|
android:layout_height="44dp"
|
|
android:layout_weight="1"
|
|
android:background="@drawable/bg_gray_12"
|
|
android:gravity="center"
|
|
android:text="私信"
|
|
android:textColor="#333333"
|
|
android:textSize="15sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- 粉丝团入口(仅主播显示) -->
|
|
<LinearLayout
|
|
android:id="@+id/fanGroupContainer"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="12dp"
|
|
android:background="@drawable/bg_fan_group_btn"
|
|
android:gravity="center_vertical"
|
|
android:orientation="horizontal"
|
|
android:padding="12dp"
|
|
android:visibility="gone">
|
|
|
|
<!-- 粉丝团图标 -->
|
|
<ImageView
|
|
android:layout_width="32dp"
|
|
android:layout_height="32dp"
|
|
android:src="@drawable/ic_group_24"
|
|
app:tint="#FF6B6B" />
|
|
|
|
<!-- 粉丝团信息 -->
|
|
<LinearLayout
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="12dp"
|
|
android:layout_weight="1"
|
|
android:orientation="vertical">
|
|
|
|
<TextView
|
|
android:id="@+id/fanGroupNameText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="粉丝团"
|
|
android:textColor="#333333"
|
|
android:textSize="15sp"
|
|
android:textStyle="bold" />
|
|
|
|
<TextView
|
|
android:id="@+id/fanGroupMemberText"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="2dp"
|
|
android:text="0人已加入"
|
|
android:textColor="#999999"
|
|
android:textSize="12sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- 加入按钮 -->
|
|
<TextView
|
|
android:id="@+id/joinFanGroupButton"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="32dp"
|
|
android:background="@drawable/bg_follow_btn"
|
|
android:gravity="center"
|
|
android:paddingStart="16dp"
|
|
android:paddingEnd="16dp"
|
|
android:text="加入"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="13sp" />
|
|
|
|
</LinearLayout>
|
|
|
|
</LinearLayout>
|
|
|
|
</androidx.cardview.widget.CardView>
|
|
|
|
<!-- 进入直播间按钮(正在直播时显示) -->
|
|
<TextView
|
|
android:id="@+id/enterLiveButton"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="48dp"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginTop="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:background="@drawable/bg_live_tag"
|
|
android:gravity="center"
|
|
android:text="🔴 正在直播,点击进入"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="15sp"
|
|
android:visibility="gone" />
|
|
|
|
<!-- 空白占位 -->
|
|
<View
|
|
android:layout_width="match_parent"
|
|
android:layout_height="100dp" />
|
|
|
|
</LinearLayout>
|
|
|
|
</androidx.core.widget.NestedScrollView>
|
|
|
|
<!-- 加载中 -->
|
|
<ProgressBar
|
|
android:id="@+id/loadingProgress"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_gravity="center"
|
|
android:visibility="gone" />
|
|
|
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|