feat: 添加导航控制与MQTT命令处理功能

- 新增NavController类,封装机器人导航相关操作(前往、停止、巡逻等)
- 扩展MqttManager以支持JSON命令解析,处理导航与语音指令
- 在AndroidManifest中添加temimetadata声明,使应用作为技能运行
- 移除设置界面中的日志显示功能,简化UI
- 优化主界面布局结构,修复缩进问题
- 添加到达目的地自动语音播报功能
- 固定表情视图尺寸,确保显示一致性
This commit is contained in:
2026-03-11 15:30:23 +08:00
parent 03cc654468
commit 8c687aa76e
7 changed files with 199 additions and 80 deletions

View File

@@ -6,42 +6,42 @@
android:padding="16dp"
tools:context=".MainActivity">
<ImageButton
android:id="@+id/btnSettings"
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" />
<ImageButton
android:id="@+id/btnSettings"
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" />
<com.example.lzwcai_terminal_temi.AnimatedEmojiView
android:id="@+id/animatedEmojiView"
android:layout_width="500dp"
android:layout_height="500dp"
android:layout_centerInParent="true" />
<com.example.lzwcai_terminal_temi.AnimatedEmojiView
android:id="@+id/animatedEmojiView"
android:layout_width="500dp"
android:layout_height="500dp"
android:layout_centerInParent="true" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="32dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnRandomExpression"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/btn_random_expression" />
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="32dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnSpeak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_speak" />
</LinearLayout>
<Button
android:id="@+id/btnRandomExpression"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/btn_random_expression" />
</RelativeLayout>
<Button
android:id="@+id/btnSpeak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_speak" />
</LinearLayout>
</RelativeLayout>