问题:元素从右到左而不是从左到右对齐(使用 USB 电缆调试时)
在模拟器中(检查了 3 个差异设备 [Android])它是正常的(从左到右),但是当我的手机通过 USB 连接到计算机并调试时,我看到元素从右到左对齐。当然,在执行 flexDirection: 'row' 时。
有人知道为什么会这样吗?
示例:
<View style={{ flexDirection: 'row',flex: 1 }}>
<Text style={{ flex: 1 }}> one </Text>
<Text style={{ flex: 1 }}> two </Text>
<Text style={{ flex: 1 }}> three </Text>
</View>
在模拟器中->
一二三
在我的手机里 ->
三二一
如果我删除 flex: 1,也会发生这种情况。
有什么解决办法吗?
最佳答案
这可能是因为您的 Android 设备的主要语言是“RTL 语言”,例如阿拉伯语、波斯语或希伯来语。 从 Android 4 开始,设备会自动反转页面布局以支持 RTL 语言,并且 react-native 支持此功能。 但是,如果你想禁用它,你可以去“./android/app/src/main”找到AndroidManifest.xml,在
<Application .... />
部分添加以下行:
android:supportsRtl="true"
所以最终的结果会是这样的:
<application
.
.
.
android:supportsRtl="false"
.
.
.
/>
之后(因为你已经更改了一个 android 相关文件)你需要通过在命令行(在元素文件夹中)中写入以下行来重建你的元素:
react-native run-android
关于android - 元素从右到左而不是从左到右对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900605/