3 Commits

Author SHA1 Message Date
您的名字 9d6d531ffe docs: 更新README文档,反映新的文件结构和下载方式
📝 更新内容:
• 更新下载链接指向XMBOX-Release仓库
• 添加版本历史链接,支持历史版本下载
• 更新v3.0.8更新日志,突出UI交互体验优化
• 添加下载说明章节,解释新的文件结构
• 更新APK文件大小信息
• 保持文档与新的版本化文件结构同步

🔗 新的下载方式:
• 最新版本:直接下载链接
• 历史版本:按版本号组织的文件夹
• 版本信息:每个版本包含完整的JSON配置
2025-10-14 12:55:23 +08:00
您的名字 0c60ddf63d chore: 升级版本号至3.0.8
- 更新app/build.gradle中的versionCode和versionName
- 更新README.md中的版本信息和更新日志
- 更新XMBOX-Release目录中的版本配置
- 更新create_release.sh脚本中的版本号
- 添加v3.0.8的更新说明,重点突出UI交互体验优化
2025-10-14 12:37:30 +08:00
您的名字 928a0e9807 feat: 优化UI交互体验和视觉效果
- 修复按钮点击效果过于明显的问题
- 统一使用自定义背景替代系统selectableItemBackgroundBorderless
- 移除Control.Action样式中的文字阴影效果
- 优化直播页面选择按钮颜色为主题黄色
- 调整许可协议页面按钮区域上间距为8dp
- 修复跨类和换源按钮的文字重叠问题
- 提升整体UI视觉一致性和用户体验
2025-10-14 12:35:12 +08:00
21 changed files with 75 additions and 61 deletions
+28 -25
View File
@@ -2,14 +2,14 @@
</h1>
<div align="center">
![Version](https://img.shields.io/badge/version-3.0.7-blue.svg)
![Version](https://img.shields.io/badge/version-3.0.8-blue.svg)
![Android](https://img.shields.io/badge/platform-Android-green.svg)
![License](https://img.shields.io/badge/license-GPL--3.0-orange.svg)
![Build](https://img.shields.io/badge/build-passing-brightgreen.svg)
一个操作方便、界面简洁的Android视频播放器盒子,需自行添源,支持TV和手机双平台。
[下载APK](../../releases) • [功能特性](#-功能特性) • [构建指南](#-构建指南) • [API文档](#-api文档)
[下载APK](https://github.com/Tosencen/XMBOX-Release/tree/main/apk/release) • [功能特性](#-功能特性) • [构建指南](#-构建指南) • [API文档](#-api文档)
</div>
@@ -36,12 +36,22 @@
## 📥 下载安装
### 最新版本: v3.0.7
### 最新版本: v3.0.8
| 平台 | ARM64-V8A | ARM V7A |
|------|-----------|---------|
| **📱 手机版** | [下载 (37MB)](../../releases/download/v3.0.7/mobile-arm64_v8a.apk) | [下载 (35MB)](../../releases/download/v3.0.7/mobile-armeabi_v7a.apk) |
| **📺 TV版** | [下载 (35MB)](../../releases/download/v3.0.7/leanback-arm64_v8a.apk) | [下载 (36MB)](../../releases/download/v3.0.7/leanback-armeabi_v7a.apk) |
| **📱 手机版** | [下载 (34MB)](https://github.com/Tosencen/XMBOX-Release/raw/main/apk/release/v3.0.8/mobile-arm64_v8a-v3.0.8.apk) | [下载 (30MB)](https://github.com/Tosencen/XMBOX-Release/raw/main/apk/release/v3.0.8/mobile-armeabi_v7a-v3.0.8.apk) |
| **📺 TV版** | [下载 (34MB)](https://github.com/Tosencen/XMBOX-Release/raw/main/apk/release/v3.0.8/leanback-arm64_v8a-v3.0.8.apk) | [下载 (30MB)](https://github.com/Tosencen/XMBOX-Release/raw/main/apk/release/v3.0.8/leanback-armeabi_v7a-v3.0.8.apk) |
### 📁 版本历史
- **v3.0.8**: [查看v3.0.8版本](https://github.com/Tosencen/XMBOX-Release/tree/main/apk/release/v3.0.8) - UI交互体验全面优化
- **v3.0.7**: [查看v3.0.7版本](https://github.com/Tosencen/XMBOX-Release/tree/main/apk/release/v3.0.7) - 全面优化稳定性和用户体验
### 📦 下载说明
- **最新版本**: 根目录的 `mobile.json``leanback.json` 包含最新版本信息
- **历史版本**: 每个版本都有独立的文件夹,包含完整的APK文件和版本信息
- **文件结构**: 按版本号组织,便于管理和下载
- **签名保护**: 所有APK均使用v1/v2/v3/v4多重签名保护
TV版基于 [FongMi/TV](https://github.com/FongMi/TV) 原项目就改了些配色,想要嘿稳定的可去原项目体验
### 📋 系统要求
@@ -122,28 +132,21 @@ XMBOX/
## 📝 更新日志
### v3.0.7 (2025-09-26)
### v3.0.8 (2025-10-14)
#### 🐛 核心修复
* **修复关键崩溃问题** - 解决 VodConfig/LiveConfig 空指针异常
* **增强构造函数初始化** - 防止 clear() 方法调用时出现空指针
* **优化生命周期管理** - 改进 Activity 销毁时的资源清理
#### 🎨 UI交互体验全面优化
* **修复按钮点击效果** - 解决按钮点击效果过于明显的问题
* **统一自定义背景** - 使用自定义背景替代系统selectableItemBackgroundBorderless
* **移除文字阴影** - 清理Control.Action样式中的文字阴影效果
* **优化直播页面** - 选择按钮颜色统一为主题黄色
* **调整页面布局** - 许可协议页面按钮区域上间距调整为8dp
* **修复文字重叠** - 解决跨类和换源按钮的文字重叠问题
* **提升视觉一致性** - 整体UI视觉一致性和用户体验优化
#### 🎨 UI/UX 全面升级
* **新增隐私协议页面** - 符合应用商店规范的隐私政策
* **修复按钮文字显示** - 解决长文本显示不完整问题
* **空状态动画优化** - 恢复完整 Lottie 动画,位置向上调整40dp
* **川渝方言文案** - 空状态文案改为"这里撒子内容都没得~"
#### 📺 TV版本专项优化
* **选集按钮高亮** - 选中状态文字改为黄色显示 (#FFEB3B)
* **专用颜色方案** - 新增 episode_text.xml 选择器
* **精准影响范围** - 仅修改视频详情页,不干扰其他界面
#### ⚡ 技术改进
* **任务栈管理** - 防止用户通过任务管理器返回协议页面
* **空值安全检查** - 全面增强空指针保护
* **错误处理机制** - 改进异常捕获和处理逻辑
#### 🔧 技术改进
* **优化内存使用** - 改进内存管理机制
* **提升播放稳定性** - 增强播放器稳定性
* **文件结构重组** - 按版本号重新组织发布文件结构
### v3.0.5 (2025-08-20)
#### 🎨 界面优化
Submodule
+1
Submodule XMBOX-Release added at 75991c52f1
+2 -2
View File
@@ -27,8 +27,8 @@ android {
minSdk 24
//noinspection ExpiredTargetSdkVersion
targetSdk 28
versionCode 307
versionName "3.0.7"
versionCode 308
versionName "3.0.8"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString(), "eventBusIndex": "com.fongmi.android.tv.event.EventIndex"]
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" android:state_selected="true" />
<item android:color="@color/green_400" android:state_selected="true" />
<item android:color="@color/primary" android:state_selected="true" />
<item android:color="@color/white" />
</selector>
@@ -2,6 +2,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/green_400" />
<solid android:color="@color/primary" />
</shape>
@@ -4,7 +4,7 @@
<solid android:color="@color/black_20" />
<corners android:radius="4dp" />
<corners android:radius="12dp" />
<padding
android:bottom="8dp"
@@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/black_60" />
<solid android:color="@color/primary" />
<corners android:radius="4dp" />
@@ -24,7 +24,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:singleLine="true"
android:textColor="@color/green_a_400"
android:textColor="@color/primary"
android:textSize="14sp"
tools:text="泥巴"
tools:visibility="visible" />
+1
View File
@@ -10,6 +10,7 @@
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
<item name="colorControlHighlight">@color/primary</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@null</item>
<item name="android:windowDisablePreview">true</item>
@@ -63,7 +63,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="24dp">
android:paddingTop="8dp"
android:paddingBottom="24dp"
android:paddingStart="24dp"
android:paddingEnd="24dp">
<Button
android:id="@+id/disagreeButton"
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" android:state_selected="true" />
<item android:color="@color/green_400" android:state_selected="true" />
<item android:color="@color/primary" android:state_selected="true" />
<item android:color="@color/white" />
</selector>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
</ripple>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#802196F3">
android:color="#80FFEB3B">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="#f5f5f5" />
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#8066BB6A">
android:color="#80FFEB3B">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="#f5f5f5" />
+1 -1
View File
@@ -4,7 +4,7 @@
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<solid android:color="@color/black_20" />
<corners android:radius="8dp" />
<corners android:radius="12dp" />
<padding
android:bottom="14dp"
android:left="16dp"
@@ -18,7 +18,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_back" />
<TextView
@@ -35,7 +35,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_sync" />
<ImageView
@@ -43,7 +43,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_delete"
android:visibility="gone"
tools:visibility="visible" />
+3 -3
View File
@@ -18,7 +18,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_back" />
<TextView
@@ -35,7 +35,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_sync" />
<ImageView
@@ -43,7 +43,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_delete"
android:visibility="gone"
tools:visibility="visible" />
@@ -19,7 +19,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_back" />
<TextView
+4 -4
View File
@@ -28,7 +28,7 @@
android:id="@+id/logo"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_logo" />
<LinearLayout
@@ -66,14 +66,14 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_keep" />
<ImageView
android:id="@+id/history"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_history" />
</LinearLayout>
@@ -144,7 +144,7 @@
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center"
android:background="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/shape_action_background"
android:src="@drawable/ic_action_retry"
android:visibility="gone" />
+2 -5
View File
@@ -17,6 +17,7 @@
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
<item name="colorControlHighlight">@color/primary</item>
<item name="android:windowBackground">@null</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:navigationBarColor">@color/transparent</item>
@@ -30,12 +31,8 @@
<style name="Control.Action">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">?attr/selectableItemBackgroundBorderless</item>
<item name="android:background">@drawable/shape_action_background</item>
<item name="android:padding">8dp</item>
<item name="android:shadowColor">@color/grey_200</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">0.5</item>
<item name="android:textColor">@color/white</item>
<item name="android:textSize">14sp</item>
</style>
+8 -8
View File
@@ -3,16 +3,16 @@
# GitHub CLI 创建 Release 脚本
# 使用前请先运行: gh auth login
echo "创建 XMBOX v3.0.7 Release..."
echo "创建 XMBOX v3.0.8 Release..."
gh release create v3.0.7 \
--title "XMBOX v3.0.7 - 全面优化稳定性和用户体验" \
--notes-file RELEASE_NOTES_v3.0.7.md \
gh release create v3.0.8 \
--title "XMBOX v3.0.8 - UI交互体验全面优化" \
--notes-file RELEASE_NOTES_v3.0.8.md \
--draft \
~/Desktop/mobile-arm64_v8a-v3.0.7.apk \
~/Desktop/mobile-armeabi_v7a-v3.0.7.apk \
~/Desktop/leanback-arm64_v8a-v3.0.7.apk \
~/Desktop/leanback-armeabi_v7a-v3.0.7.apk
~/Desktop/mobile-arm64_v8a-v3.0.8.apk \
~/Desktop/mobile-armeabi_v7a-v3.0.8.apk \
~/Desktop/leanback-arm64_v8a-v3.0.8.apk \
~/Desktop/leanback-armeabi_v7a-v3.0.8.apk
echo "Release 创建完成(草稿状态)"
echo "请在 GitHub 上检查并发布"