Files
aitsc/example/app/src/main/res/layout/activity_main.xml

328 lines
14 KiB
XML
Raw Normal View History

2026-03-01 23:56:28 +08:00
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorSurface"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- 标题栏:应用名 + 设置 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/app_name"
android:textColor="@color/colorPrimary"
android:textSize="24sp"
android:textStyle="bold" />
2026-03-04 22:42:44 +08:00
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_meal_planning"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_meal_planning"
android:layout_marginEnd="8dp" />
2026-03-04 21:47:16 +08:00
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_history"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_history"
android:layout_marginEnd="8dp" />
2026-03-01 23:56:28 +08:00
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_settings"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置" />
</LinearLayout>
<!-- 预设提示区 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="常用提示"
android:textColor="@color/colorTextSecondary"
android:textSize="12sp"
android:layout_marginBottom="8dp" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/preset_chip_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:singleSelection="false"
app:selectionRequired="false"
android:layout_marginBottom="16dp">
<com.google.android.material.chip.Chip
android:id="@+id/preset_email"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preset_email" />
<com.google.android.material.chip.Chip
android:id="@+id/preset_product"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preset_product" />
<com.google.android.material.chip.Chip
android:id="@+id/preset_story"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preset_story" />
<com.google.android.material.chip.Chip
android:id="@+id/preset_summary"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preset_summary" />
<com.google.android.material.chip.Chip
android:id="@+id/preset_poem"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/preset_poem" />
</com.google.android.material.chip.ChipGroup>
<!-- 输入区 -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_hint"
app:boxBackgroundColor="@color/colorCard"
app:boxStrokeColor="@color/colorPrimary"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_marginBottom="12dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_prompt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="4"
android:gravity="top"
android:inputType="textMultiLine|textCapSentences" />
</com.google.android.material.textfield.TextInputLayout>
<!-- 生成长度 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生成长度"
android:textColor="@color/colorTextSecondary"
android:textSize="12sp"
android:layout_marginBottom="4dp" />
<com.google.android.material.slider.Slider
android:id="@+id/slider_length"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:valueFrom="0"
android:valueTo="2"
android:stepSize="1"
android:value="1"
app:labelBehavior="gone"
android:layout_marginBottom="8dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="12dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/length_short"
android:textSize="12sp"
android:textColor="@color/colorTextSecondary" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/length_medium"
android:textSize="12sp"
android:gravity="center"
android:textColor="@color/colorTextSecondary" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/length_long"
android:textSize="12sp"
android:gravity="end"
android:textColor="@color/colorTextSecondary" />
</LinearLayout>
<!-- 创意程度 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="创意程度"
android:textColor="@color/colorTextSecondary"
android:textSize="12sp"
android:layout_marginBottom="4dp" />
<com.google.android.material.slider.Slider
android:id="@+id/slider_temperature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:valueFrom="0"
android:valueTo="2"
android:stepSize="1"
android:value="1"
app:labelBehavior="gone"
android:layout_marginBottom="8dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/temp_conservative"
android:textSize="12sp"
android:textColor="@color/colorTextSecondary" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/temp_balanced"
android:textSize="12sp"
android:gravity="center"
android:textColor="@color/colorTextSecondary" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/temp_creative"
android:textSize="12sp"
android:gravity="end"
android:textColor="@color/colorTextSecondary" />
</LinearLayout>
<!-- 操作按钮区:优化 + 生成 + 直答 -->
2026-03-02 00:26:28 +08:00
<LinearLayout
2026-03-01 23:56:28 +08:00
android:layout_width="match_parent"
2026-03-02 00:26:28 +08:00
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="false"
android:layout_marginBottom="20dp">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_optimize"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:text="@string/btn_optimize"
android:layout_marginEnd="4dp" />
2026-03-02 00:26:28 +08:00
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_generate"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
2026-03-02 00:26:28 +08:00
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:text="@string/btn_generate"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_direct_answer"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:text="@string/btn_direct_answer"
2026-03-02 00:26:28 +08:00
app:backgroundTint="@color/colorPrimary"
android:textColor="@color/colorWhite"
android:layout_marginStart="4dp" />
2026-03-02 00:26:28 +08:00
</LinearLayout>
2026-03-01 23:56:28 +08:00
<!-- 加载指示 -->
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone"
android:layout_marginBottom="16dp" />
<!-- 结果展示区 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生成结果"
android:textColor="@color/colorTextSecondary"
android:textSize="12sp"
android:layout_marginBottom="8dp" />
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/colorCard"
app:cardElevation="2dp"
app:cardCornerRadius="12dp"
android:minHeight="120dp"
android:layout_marginBottom="12dp">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:padding="16dp">
<TextView
android:id="@+id/result_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/result_placeholder"
android:textColor="@color/colorText"
android:textSize="15sp"
android:lineSpacingMultiplier="1.2"
tools:text="这里是流式显示的结果文本…" />
</ScrollView>
</com.google.android.material.card.MaterialCardView>
<!-- 操作按钮栏 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:paddingTop="8dp"
android:paddingBottom="24dp">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_copy"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/btn_copy" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_regenerate"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/btn_regenerate" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_continue"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/btn_continue" />
</LinearLayout>
</LinearLayout>
</ScrollView>