生成二维码

This commit is contained in:
2026-05-13 10:27:46 +08:00
parent 1b84a41a7a
commit 80837e39bf
21 changed files with 560 additions and 16 deletions

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="16dp">
<!-- 标题栏 -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="48dp">
<TextView
android:id="@+id/tvCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:text="@string/cancel"
android:textColor="@color/gray"
android:textSize="14sp" />
<TextView
android:id="@+id/tvConfirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:text="@string/confirm"
android:textColor="@color/green"
android:textSize="14sp" />
</RelativeLayout>
<!-- 选项列表 -->
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb24h"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/bg_radio_button_selector"
android:button="@null"
android:checked="true"
android:gravity="center"
android:text="@string/expire_24h"
android:textColor="@drawable/text_color_selector"
android:textSize="14sp"
android:clickable="true"
android:focusable="true" />
<RadioButton
android:id="@+id/rb7d"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/bg_radio_button_selector"
android:button="@null"
android:gravity="center"
android:text="@string/expire_7d"
android:textColor="@drawable/text_color_selector"
android:textSize="14sp"
android:clickable="true"
android:focusable="true" />
</RadioGroup>
</LinearLayout>

View File

@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/bg_gray"
tools:context=".personal.InvitationCodeActivity">
<!-- 标题栏 -->
<LinearLayout
android:id="@+id/topBar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:gravity="center_vertical"
android:paddingHorizontal="16dp"
android:background="@color/white">
<ImageView
android:id="@+id/ivBack"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/invite_code"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 邀请码时效选择 -->
<LinearLayout
android:id="@+id/llExpireTime"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="8dp"
android:background="@color/white"
android:gravity="center_vertical"
android:paddingHorizontal="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/invite_code_expire_time"
android:textColor="@color/black"
android:textSize="14sp" />
<TextView
android:id="@+id/tvExpireTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/gray"
android:textSize="14sp" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="4dp"
android:src="@drawable/right_back" />
</LinearLayout>
<!-- 二维码卡片 -->
<LinearLayout
android:id="@+id/llQrCodeCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_white_rounded"
android:orientation="vertical"
android:padding="24dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/qr_code_invite"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<!-- 二维码图片 -->
<FrameLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp">
<!-- 灰色占位背景 -->
<View
android:id="@+id/vQrPlaceholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_gray" />
<ImageView
android:id="@+id/ivQrCode"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitCenter" />
<!-- 中间Logo -->
<ImageView
android:id="@+id/ivQrLogo"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:src="@mipmap/loge" />
</FrameLayout>
<!-- 说明文字 -->
<TextView
android:id="@+id/tvTips"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/invite_code_tips"
android:textColor="@color/gray"
android:textSize="12sp"
android:lineSpacingMultiplier="1.2" />
</LinearLayout>
<!-- 其他邀请方式 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:text="@string/other_invite_methods"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold" />
<!-- 微信好友 -->
<LinearLayout
android:id="@+id/llWechatShare"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="8dp"
android:background="@color/white"
android:gravity="center_vertical"
android:paddingHorizontal="16dp">
<ImageView
android:layout_width="43dp"
android:layout_height="43dp"
android:src="@drawable/vx" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_weight="1"
android:text="@string/wechat_friend"
android:textColor="@color/black"
android:textSize="14sp" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/right_back" />
</LinearLayout>
</LinearLayout>

View File

@@ -16,6 +16,7 @@
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tvDeleteAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unlink"

View File

@@ -66,7 +66,6 @@
android:textSize="14sp"/>
</LinearLayout>
</LinearLayout>
<!-- 列表区域 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvLinkedUser"
@@ -79,6 +78,7 @@
<!-- 底部按钮 -->
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
@@ -92,6 +92,16 @@
android:textColor="@color/white"
android:textSize="14dp"
android:background="@drawable/rounded_blue_bg" />
<!-- 悬浮加号按钮 -->
<ImageView
android:visibility="gone"
android:layout_gravity="end"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/add_img"
android:id="@+id/fabAdd"/>
</LinearLayout>
</LinearLayout>

View File

@@ -85,7 +85,7 @@
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="16dp"
android:layout_marginBottom="20dp"
android:layout_marginBottom="40dp"
android:background="@drawable/rounded_blue_bg"
android:text="@string/submit"
android:textColor="@color/white"