chore: 更新IDE配置和优化UI布局

- 新增或更新多个IDE配置文件(compiler.xml, gradle.xml等)以支持Android项目
- 简化主界面布局,使用ImageButton替换Button,移除不必要的TextView
- 优化设置界面布局,使用RelativeLayout和LinearLayout组合改进视觉结构
- 将日志信息字符串提取到资源文件中以支持国际化
- 清理misc.xml中的冗余设备配置信息
This commit is contained in:
2026-03-10 15:51:58 +08:00
parent 71d84f2043
commit 9c9a9552e2
11 changed files with 173 additions and 864 deletions

View File

@@ -38,6 +38,6 @@ class MainActivity : AppCompatActivity() {
// 读取配置的 IP 并记录日志
val prefs = getSharedPreferences("app_prefs", Context.MODE_PRIVATE)
val ip = prefs.getString("network_ip", "未设置")
Log.i("MainActivity", "应用启动完成。目标 IP: $ip")
Log.i("MainActivity", getString(R.string.log_init, ip))
}
}

View File

@@ -1,34 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_main"
android:textSize="36sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/btnSettings"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<Button
<ImageButton
android:id="@+id/btnSettings"
android:layout_width="300dp"
android:layout_height="100dp"
android:layout_marginTop="32dp"
android:text="@string/btn_settings"
android:textSize="32sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/btn_settings"
android:src="@android:drawable/ic_menu_manage" />
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>

View File

@@ -4,79 +4,111 @@
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<!-- 返回按钮 -->
<ImageButton
android:id="@+id/btnBack"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/btn_back"
android:src="@android:drawable/ic_menu_revert" />
<!-- 标题 -->
<TextView
android:id="@+id/tvSettingsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="24dp"
android:text="@string/title_settings"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="@string/label_ip_config"
android:textSize="24sp"
android:textStyle="bold" />
<EditText
android:id="@+id/etIpAddress"
<!-- IP 配置部分 -->
<LinearLayout
android:id="@+id/ipConfigLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:hint="@string/hint_ip_address"
android:inputType="number|numberDecimal"
android:digits="0123456789."
android:minHeight="60dp"
android:textSize="24sp" />
android:layout_below="@id/tvSettingsTitle"
android:layout_marginTop="24dp"
android:orientation="vertical">
<Button
android:id="@+id/btnSave"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginBottom="16dp"
android:text="@string/btn_save"
android:textSize="24sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="@string/label_ip_config"
android:textSize="24sp"
android:textStyle="bold" />
<Button
android:id="@+id/btnBack"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginBottom="32dp"
android:text="@string/btn_back"
android:textSize="24sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="24dp"
android:background="#CCCCCC" />
<EditText
android:id="@+id/etIpAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="16dp"
android:hint="@string/hint_ip_address"
android:inputType="number|numberDecimal"
android:digits="0123456789."
android:minHeight="60dp"
android:textSize="24sp" />
<Button
android:id="@+id/btnToggleLogs"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginBottom="16dp"
android:text="@string/btn_show_logs"
android:textSize="24sp" />
<Button
android:id="@+id/btnSave"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:text="@string/btn_save"
android:textSize="24sp" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tvLog"
<!-- 日志部分 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EEEEEE"
android:padding="16dp"
android:scrollbars="vertical"
android:text="@string/log_placeholder"
android:textSize="18sp"
android:visibility="gone" />
android:layout_below="@id/ipConfigLayout"
android:layout_marginTop="32dp"
android:orientation="vertical">
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="24dp"
android:background="#CCCCCC" />
<Button
android:id="@+id/btnToggleLogs"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginBottom="16dp"
android:text="@string/btn_show_logs"
android:textSize="24sp" />
<TextView
android:id="@+id/tvLog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EEEEEE"
android:padding="16dp"
android:scrollbars="vertical"
android:text="@string/log_placeholder"
android:textSize="18sp"
android:visibility="gone" />
</LinearLayout>
</RelativeLayout>
</ScrollView>