项目从右到左对齐,而不是从左到右

时间:2017-08-26 23:50:34

标签: android css reactjs react-native flexbox

问题:项目从右到左而不是从左到右对齐(使用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>

在模拟器中 - &gt;

一二三

在我的手机中 - &gt;

三二一

如果我删除flex,也会发生这种情况:1。

任何解决方案?

1 个答案:

答案 0 :(得分:2)

这可能是由于您的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