"我的处境"
我将一个基于React JS的应用程序转换为Ionic React(一个可以在Android、iOS和Web上运行应用程序的混合框架),最终目标是它最终可以在1080 p Android电视(操作系统为Android 12.0)上运行。转换本身就很有挑战性,但我设法完成了转换,并设法在多个Android设备上运行我曾经纯粹基于Web的应用程序。
这就是我的问题。由于某种原因,无论应用程序在任何类型的Android电视、模拟器或真实的设备(操作系统Android 12.0)上运行(我尝试过两者,结果都是一样的),页面加载时所有内容都放大了,而不是遵守页面应该设置的HD/1080 p限制。这里有一张图片。
TV
相反,当我在Android桌面模拟器(12 L)上运行此应用程序时(请记住,此应用程序最初是为1920 x1080桌面设计的Web应用程序),页面会正常加载,看起来完全一样,整个页面完全可见。
Desktop
TL;DR?我需要在1080 p Android TV / Android Studio TV模拟器上加载上述页面,加载方式与在1080 p Android Studio桌面模拟器上加载相同,并且整个页面可见,无需滚动。
"我一直在努力"
- 我弄乱了我的 index.html 文件的viewport标记。当应用程序在TV/TV Emulator上运行时,我能够对它进行的唯一显著更改是更改
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
到<meta name="viewport" content="width=device-width, initial-scale=0.5, maximum-scale=1.0"/>
上面的操作让应用程序加载到电视上,我可以向左/向右和向上/向下滚动,看到页面的其余部分,但这不是最终目标。我希望能够看到整个页面,而不必滚动。
- 我在stack overflow和其他网站上做了一些搜索,发现关于这个问题的信息少得可怕,我怀疑这个问题更普遍。我确实看到了一些建议,包括在Android_Manifest.xml文件中指定一个 targetSdkVersion,如这个链接所描述的。--〉https://developer.android.com/guide/topics/manifest/uses-sdk-element。这是一个死胡同,没有任何影响。
- 我还看到另一篇帖子建议在 build.gradle 的 android 块中指定一个特定的sdk来构建,但这很快就被证明是一个死胡同。
我不禁觉得我忽略了一些非常愚蠢的事情,但我已经把我的头撞到这个问题上一天了。
有人有什么建议吗?
1条答案
按热度按时间pexxcrt21#
设法解决了我自己的问题。使用 ionic serve 在浏览器中显示我的应用程序,然后我就可以通过CSS(缩放属性是我缺少的)进入一个工作的产品。