有没有办法在android中更改我的应用程序的布局方向

问题描述

我需要更改应用程序内部的布局方向,从 LTR 到 RTL,反之亦然,我在网上看没有明确的解决方案,这个过程是否简单,我的意思是它必须是应用程序内部的属性,您可以更改这个属性很容易适用于您应用中的所有布局,有什么想法吗?

注意:我想更改应用程序中的语言和布局。

解决方法

  1. 将您的设备置于 RTL 模式,您可以在开发设置(强制 RTL 布局方向)中执行此操作。
  2. 您应该确保您的所有布局不使用“左”和“右”属性,例如 layout_marginLeft,而应使用 layout_marginStartlayout_marginEnd

这意味着当在设置为从右到左阅读(例如阿拉伯语)的设备上运行时,所有布局都将正确镜像。

如果您不想将整个设备更改为 RTL,请将其粘贴到您应用中 every Activity 的 onCreate 方法中(将其粘贴在 super 和在膨胀内容视图之前。

Java:getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 科特林:window.decorView.layoutDirection = View.LAYOUT_DIRECTION_RTL

(我认为您不需要将其添加到每个片段中,只需将其添加到活动中)。

,

你可以像这样强制 RTL

window.decorView.layoutDirection = View.LAYOUT_DIRECTION_RTL

您也可以将其设置为 LAYOUT_DIRECTION_LTR 表示从左到右的布局方向