如何处理 React Native 应用程序在 tvOS 和 Android TV 之间的扩展问题?

2024-02-22

Apple TV 的原生分辨率似乎为 1920x1080(如预期),但 Android TV / Fire TV 的原生分辨率似乎为 961.5022957581195x540.8450413639423(根据Dimensions.get('window')).

因此,当我在 Apple TV 上运行我的应用程序时,一切看起来都很好。但当我在 Android TV 上运行它时,屏幕上什么也没有显示。

有没有办法强制 Android TV 缩小所有内容?或者我是否必须为不同的设备创建两个不同的样式表才能更改所有组件的字体大小和尺寸?


我们使用不同的方法,在电视的基本应用程序类上添加此

class TvApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        Configuration configuration = new Configuration(base.getResources().getConfiguration());
        configuration.densityDpi = configuration.densityDpi / 2;

        Context newContext = base.createConfigurationContext(configuration);

        super.attachBaseContext(newContext);
    }
}

这样,我们在使用尺寸时就具有一致的宽度和高度,并且我们可以在所有平台上使用相同的样式值,而无需在 JS 端进行任何操作。

它并不完美,但在为多个平台构建时更方便

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 React Native 应用程序在 tvOS 和 Android TV 之间的扩展问题? 的相关文章

随机推荐