Android 手机和电视屏幕应用的最佳实践
best practice for Android app for Mobile and TV screen
我有 android 应用程序可以在移动设备上正常运行,但我需要为电视屏幕的这个应用程序做新设计,这个新设计需要新的小部件和新的 java 代码,这是不同的来自用于移动设备的代码 phone.
这样做的最佳做法是什么?我已经阅读了如何检测应用程序是 运行 在电视上还是移动设备上,但我认为这不是最好的做法。
你可以在这里找到全部信息 https://developer.android.com/training/tv/start/start,但我也会分享一些建议:
- 不要在 TV 应用中使用 Recycler 视图,而是使用 VerticalGridView。
- 在布局的左右边缘添加 5% 的边距 48dp,在顶部和底部边缘添加 27dp 确保该布局中的屏幕元素将在过扫描安全区域内。
- UI 元素是可聚焦的——与移动应用程序的使用方式相比,开发 remote-controlled 应用程序时这是一个完全独特的概念。处理 UI 元素焦点的整个过程本身就是一个挑战,并且是来自移动设备的“文化变革”。您需要开发如何突出焦点元素的底层逻辑,还需要设计和开发用户如何使用 5 键 RCU 在元素和元素块之间移动的逻辑。
- 显然所有的滑动和手势都不起作用,所以你应该重写这种逻辑。
这是找出设备类型的最简单方法:
val uiModeManager = getSystemService(UI_MODE_SERVICE) as UiModeManager
if (uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION) {
//it is TV
} else {
//it is mobile
}
我有 android 应用程序可以在移动设备上正常运行,但我需要为电视屏幕的这个应用程序做新设计,这个新设计需要新的小部件和新的 java 代码,这是不同的来自用于移动设备的代码 phone.
这样做的最佳做法是什么?我已经阅读了如何检测应用程序是 运行 在电视上还是移动设备上,但我认为这不是最好的做法。
你可以在这里找到全部信息 https://developer.android.com/training/tv/start/start,但我也会分享一些建议:
- 不要在 TV 应用中使用 Recycler 视图,而是使用 VerticalGridView。
- 在布局的左右边缘添加 5% 的边距 48dp,在顶部和底部边缘添加 27dp 确保该布局中的屏幕元素将在过扫描安全区域内。
- UI 元素是可聚焦的——与移动应用程序的使用方式相比,开发 remote-controlled 应用程序时这是一个完全独特的概念。处理 UI 元素焦点的整个过程本身就是一个挑战,并且是来自移动设备的“文化变革”。您需要开发如何突出焦点元素的底层逻辑,还需要设计和开发用户如何使用 5 键 RCU 在元素和元素块之间移动的逻辑。
- 显然所有的滑动和手势都不起作用,所以你应该重写这种逻辑。
这是找出设备类型的最简单方法:
val uiModeManager = getSystemService(UI_MODE_SERVICE) as UiModeManager
if (uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION) {
//it is TV
} else {
//it is mobile
}