feat: add 3 model config cards layout

This commit is contained in:
xiaji
2026-05-08 22:05:30 +08:00
parent b25f562d5d
commit 1633e71d9a

View File

@@ -80,7 +80,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- 2. 模型配置卡片 -->
<!-- 2. 第一组模型配置卡片 -->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -99,7 +99,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模型配置"
android:text="模型1"
android:textColor="@color/text_primary"
android:textSize="18sp"
android:textStyle="bold" />
@@ -127,7 +127,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/etModelName"
android:id="@+id/etModelName1"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
@@ -155,7 +155,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/etBaseUrl"
android:id="@+id/etBaseUrl1"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
@@ -189,7 +189,7 @@
android:background="@drawable/edittext_border">
<EditText
android:id="@+id/etApiKey"
android:id="@+id/etApiKey1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
@@ -202,7 +202,7 @@
android:textSize="16sp" />
<ImageButton
android:id="@+id/btnToggleApiKey"
android:id="@+id/btnToggleApiKey1"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
@@ -230,7 +230,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/etModel"
android:id="@+id/etModel1"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
@@ -252,7 +252,7 @@
android:gravity="center_vertical">
<Button
android:id="@+id/btnTestConnection"
android:id="@+id/btnTestConnection1"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
@@ -265,7 +265,403 @@
android:layout_marginEnd="8dp"/>
<TextView
android:id="@+id/tvTestStatus"
android:id="@+id/tvTestStatus1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textSize="12sp"
android:textColor="@color/text_hint"
android:text="点击测试连接"/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!-- 3. 第二组模型配置卡片 -->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:cardBackgroundColor="@color/surface"
app:cardCornerRadius="16dp"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- 卡片标题 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模型2"
android:textColor="@color/text_primary"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="设置 API 接口地址、密钥与模型"
android:textColor="@color/text_hint"
android:textSize="14sp" />
<!-- 配置名称 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="配置名称"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etModelName2"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="默认配置"
android:inputType="text"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- Base URL -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Base URL"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etBaseUrl2"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="https://api.openai.com/v1"
android:inputType="textUri"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- API Key -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="API Key"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border">
<EditText
android:id="@+id/etApiKey2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:hint="sk-..."
android:inputType="textPassword"
android:paddingStart="12dp"
android:paddingEnd="48dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
<ImageButton
android:id="@+id/btnToggleApiKey2"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="显示/隐藏"
android:src="@android:drawable/ic_lock_idle_lock"
app:tint="@color/text_hint" />
</RelativeLayout>
</LinearLayout>
<!-- Model -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Model"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etModel2"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="gpt-4o"
android:inputType="text"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- 测试连接按钮和状态 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<Button
android:id="@+id/btnTestConnection2"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:text="测试连接"
android:textSize="14sp"
android:textColor="@color/white"
android:background="@drawable/button_primary_bg"
android:minWidth="0dp"
android:minHeight="0dp"
android:layout_marginEnd="8dp"/>
<TextView
android:id="@+id/tvTestStatus2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textSize="12sp"
android:textColor="@color/text_hint"
android:text="点击测试连接"/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!-- 4. 第三组模型配置卡片 -->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:cardBackgroundColor="@color/surface"
app:cardCornerRadius="16dp"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- 卡片标题 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模型3"
android:textColor="@color/text_primary"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="设置 API 接口地址、密钥与模型"
android:textColor="@color/text_hint"
android:textSize="14sp" />
<!-- 配置名称 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="配置名称"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etModelName3"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="默认配置"
android:inputType="text"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- Base URL -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Base URL"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etBaseUrl3"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="https://api.openai.com/v1"
android:inputType="textUri"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- API Key -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="API Key"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border">
<EditText
android:id="@+id/etApiKey3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:hint="sk-..."
android:inputType="textPassword"
android:paddingStart="12dp"
android:paddingEnd="48dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
<ImageButton
android:id="@+id/btnToggleApiKey3"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="显示/隐藏"
android:src="@android:drawable/ic_lock_idle_lock"
app:tint="@color/text_hint" />
</RelativeLayout>
</LinearLayout>
<!-- Model -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Model"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<EditText
android:id="@+id/etModel3"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/edittext_border"
android:hint="gpt-4o"
android:inputType="text"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:textColorHint="@color/text_hint"
android:textSize="16sp" />
</LinearLayout>
<!-- 测试连接按钮和状态 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<Button
android:id="@+id/btnTestConnection3"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:text="测试连接"
android:textSize="14sp"
android:textColor="@color/white"
android:background="@drawable/button_primary_bg"
android:minWidth="0dp"
android:minHeight="0dp"
android:layout_marginEnd="8dp"/>
<TextView
android:id="@+id/tvTestStatus3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"