设备默认布局方向改变 应用默认布局方向对语言的改变

问题描述 投票:0回答:2

最近,我收到了用户的报告,说应用程序的布局方向被打乱,不能正确显示。

我把所有的方向 ltrstyle.xml 但有些用户改 电话语言.结果,设备默认的布局方向发生变化,导致应用方向反转,(但我不希望)

ltr 改为 rtl

rtl 改为 ltr

我的假设是,如果我把静态布局方向设置在 style.xml 布局永远不会改变方向,但它没有工作,方向被改变了,我要做什么?

android orientation direction
2个回答
2
投票

下面介绍一下如何在活动中强制设置LTR。

<item name="android:layoutDirection">ltr</item>

比如说,你可以在活动中强制使用LTR。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:layoutDirection">ltr</item>
</style>

你也可以直接在布局中使用它 在一个视图中结合不同的方向。

android:layoutDirection="rtl"

例如:你也可以直接在布局中使用它,在一个视图上组合不同的方向。

<LinearLayout android:id="@+id/layout_linearlayout_rtl"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layoutDirection="rtl">

        <LinearLayout android:id="@+id/layout_linearlayout_rtl_child_1"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layoutDirection="ltr" />

        <LinearLayout android:id="@+id/layout_linearlayout_rtl_child_2"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layoutDirection="rtl" />

        <LinearLayout android:id="@+id/layout_linearlayout_rtl_child_3"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layoutDirection="inherit" />

        <LinearLayout android:id="@+id/layout_linearlayout_rtl_child_4"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layoutDirection="locale" />

</LinearLayout>

它可以从API 17开始使用。

希望对你有帮助


0
投票

试试这个

 android:supportsRtl="false"

在manifest.xml中设置 <application> 标签

© www.soinside.com 2019 - 2024. All rights reserved.