Files
ucvl-zonghengjia-android/V2rayNG/app/src/main/res/layout/activity_ucvl_main.xml
T

401 lines
18 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ucvlRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/ucvl_surface"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ucvl_navy"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="22dp"
android:paddingTop="22dp"
android:paddingEnd="22dp"
android:paddingBottom="22dp">
<ImageView
android:layout_width="72dp"
android:layout_height="72dp"
android:contentDescription="@string/app_name"
android:src="@drawable/zonghengjia_logo" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="优创⁺纵横家"
android:textColor="@android:color/white"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Powered by 优创未来 · Android"
android:textColor="#B8DAF4"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/loginPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录优创⁺纵横家"
android:textColor="@color/ucvl_text"
android:textSize="25sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="使用公司分配的用户名或邮箱登录"
android:textColor="@color/ucvl_muted"
android:textSize="14sp" />
<EditText
android:id="@+id/loginInput"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="28dp"
android:autofillHints="username"
android:background="@drawable/ucvl_input"
android:hint="用户名 / 邮箱"
android:inputType="textEmailAddress"
android:maxLines="1"
android:textColor="@color/ucvl_text"
android:textColorHint="@color/ucvl_muted" />
<EditText
android:id="@+id/passwordInput"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="14dp"
android:autofillHints="password"
android:background="@drawable/ucvl_input"
android:hint="密码"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:maxLines="1"
android:textColor="@color/ucvl_text"
android:textColorHint="@color/ucvl_muted" />
<TextView
android:id="@+id/loginError"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@color/ucvl_danger"
android:textSize="13sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="54dp"
android:layout_marginTop="14dp"
android:text="安全登录"
android:textSize="16sp"
app:backgroundTint="@color/ucvl_royal"
app:cornerRadius="12dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/registerButton"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="match_parent" android:layout_height="48dp"
android:text="注册新用户 · 审核后使用" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:gravity="center"
android:text="账号停用后,设备授权与线路会自动失效"
android:textColor="@color/ucvl_muted"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/dashboardPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp"
android:visibility="gone">
<TextView
android:id="@+id/welcomeText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/ucvl_text"
android:textSize="23sp"
android:textStyle="bold" />
<TextView
android:id="@+id/accountText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/ucvl_muted"
android:textSize="13sp" />
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="18dp"
app:strokeColor="@color/ucvl_border"
app:strokeWidth="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="20dp">
<TextView
android:id="@+id/statusDot"
android:layout_width="36dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="●"
android:textColor="@color/ucvl_muted"
android:textSize="24sp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/statusTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="未连接"
android:textColor="@color/ucvl_text"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/statusDetail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="点击连接,由平台自动选择节点"
android:textColor="@color/ucvl_muted"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="18dp"
app:strokeColor="@color/ucvl_border"
app:strokeWidth="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前工作节点"
android:textColor="@color/ucvl_text"
android:textStyle="bold" />
<TextView
android:id="@+id/currentNode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="连接后显示实际工作节点"
android:textColor="@color/ucvl_royal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="代理模式"
android:textColor="@color/ucvl_text"
android:textStyle="bold" />
<Spinner
android:id="@+id/routeSpinner"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_marginTop="6dp"
android:background="@drawable/ucvl_input" />
<com.google.android.material.button.MaterialButton
android:id="@+id/connectButton"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="20dp"
android:text="连接"
android:textSize="17sp"
app:backgroundTint="@color/ucvl_royal"
app:cornerRadius="14dp" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="18dp"
app:strokeColor="@color/ucvl_border"
app:strokeWidth="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="本期流量"
android:textColor="@color/ucvl_text"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/usageText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/ucvl_royal"
android:textSize="17sp"
android:textStyle="bold" />
<ProgressBar
android:id="@+id/usageProgress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="10dp"
android:layout_marginTop="10dp"
android:max="100"
android:progressTint="@color/ucvl_blue" />
<TextView
android:id="@+id/planText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@color/ucvl_muted"
android:textSize="13sp" />
<TextView android:id="@+id/proxySpeed" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="14dp"
android:text="↑ 0 B/s ↓ 0 B/s" android:textColor="@color/ucvl_royal" />
<com.v2ray.ang.ucvl.UcvlTrafficChart android:id="@+id/speedChart"
android:layout_width="match_parent" android:layout_height="56dp"
android:contentDescription="近期代理上传蓝线、下载青线速率,每三秒采样" />
<TextView android:id="@+id/proxyTotal" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="本次代理 0 B · 仅统计 proxy 出站"
android:textColor="@color/ucvl_muted" android:textSize="12sp" />
<TextView android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:text="近 7 天代理用量 · 蓝色上传 / 青色下载"
android:textColor="@color/ucvl_muted" android:textSize="12sp" />
<com.v2ray.ang.ucvl.UcvlTrafficChart android:id="@+id/usageChart"
android:layout_width="match_parent" android:layout_height="56dp"
android:contentDescription="近七天代理上传和下载用量" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/refreshButton"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:text="刷新" />
<com.google.android.material.button.MaterialButton
android:id="@+id/logoutButton"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:text="退出账号" />
</LinearLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/exitButton"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="4dp"
android:text="断开并退出应用"
android:textColor="@color/ucvl_danger" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center"
android:text="公司策略 · 代理流量统计\nvpn.toplc.cn · © 2026 UCVL"
android:textColor="@color/ucvl_muted"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/updateStatus"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:gravity="center" android:textSize="12sp" android:paddingHorizontal="20dp"
android:textColor="@color/ucvl_muted" />
<com.google.android.material.button.MaterialButton
android:id="@+id/checkUpdatesButton"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="match_parent" android:layout_height="48dp"
android:text="检查软件更新" />
<com.google.android.material.button.MaterialButton
android:id="@+id/openSourceButton"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="match_parent" android:layout_height="48dp"
android:text="版本与开源许可" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>