# 蓝牙主界面开发进展_2026-07-09 ## 范围 本次只专注新项目 `F:\zdCode\tongli` 的 `YX_BlueTooth` 蓝牙模块。 不处理: - SystemUI - Launcher - MCU - 其他系统联动模块 ## 用户要求 - UI 和需求要跟老项目 `F:\zdCode\tongli_old` 一致。 - 业务逻辑一样。 - 代码可以不参考老项目。 - 不需要备份。 - 资源优先直接拷贝老项目,不从截图切图。 ## 本次完成 主界面已从新项目原来的: ```text 键盘 + 通话记录/联系人横向页签 ``` 调整为老项目式: ```text 左侧四菜单 + 右侧页面容器 ``` 四个菜单: ```text 蓝牙拨号 联系人 蓝牙音乐 蓝牙设置 ``` ## 代码结构 主入口: ```text YX_BlueTooth/src/main/java/com/yaxon/bluetooth/main/MainActivity.java ``` 主界面现在只负责: - 左侧菜单显示 - 右侧 Fragment 切换 - 联系人搜索/重新同步入口 - 蓝牙连接状态同步给拨号页和联系人页 新增页面: ```text YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/DialHomeFragment.java YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/BtMusicFragment.java YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/BtSettingFragment.java ``` 复用页面: ```text YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/ContactsFragment.java YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/CallLogsFragment.java ``` ## 页面说明 ### 蓝牙拨号 文件: ```text fragment_dial_home.xml DialHomeFragment.java ``` 结构: ```text 左侧:KeyBoardView 右侧:CallLogsFragment 输入号码后:显示联系人匹配列表 ``` ### 联系人 继续复用: ```text ContactsFragment fragment_contacts.xml ``` 主界面右上角保留: - 搜索 - 重新同步 ### 蓝牙音乐 新增: ```text BtMusicFragment fragment_bt_music.xml ``` 复用: ```text BtMusicViewModel BtMusicControlManager ``` ### 蓝牙设置 新增: ```text BtSettingFragment fragment_bt_setting.xml ``` 复用: ```text BtSettingViewModel BtDevForumAdapter BtDevScanedAdapter ``` 它相当于把原来的 `BtSettingDialog` 弹窗式设置迁成主界面里的页面式设置。 ## 资源复用 已从老项目拷贝到新项目: ```text activity_bg.png common_bg_line.png title_head_background.png bluetooth_tabvertical.xml text_click_selector.xml icon_tabvertical_selected.png ``` 新增/修改资源: ```text activity_main.xml listitem_main.xml fragment_dial_home.xml fragment_bt_music.xml fragment_bt_setting.xml colors.xml dimens.xml ``` ## 验证 默认 Java 11 会失败,原因是当前 Android Gradle Plugin 需要 Java 17。 使用 Android Studio JBR 临时编译: ```powershell $env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr' $env:Path="$env:JAVA_HOME\bin;$env:Path" .\gradlew.bat :YX_BlueTooth:assembleDebug --no-daemon --console=plain ``` 结果: ```text BUILD SUCCESSFUL ``` ## 已知风险 - 当前完成的是主界面四入口骨架,尚未做上车/模拟器视觉验收。 - 蓝牙拨号页的号码显示、删除键、点击通话记录拨号等细节需要继续对齐老项目。 - 蓝牙设置页目前复用现有设置逻辑,名称修改、自动接听等细节还需要继续核对老项目。 - 蓝牙音乐页复用现有音乐逻辑,播放状态、歌曲信息、未连接页还需要实测。 - 三方通话还未进入本轮实现,后续需要专项验收。 ## 下一步 优先顺序: 1. 实测主界面四入口切换。 2. 对齐蓝牙拨号页 UI 和交互。 3. 对齐联系人页搜索/同步/空状态。 4. 对齐蓝牙音乐页播放控制和未连接状态。 5. 对齐蓝牙设置页扫描/连接/断开/删除/蓝牙名称。 6. 再做通话页和三方通话专项。