问题标签 [android-layout-direction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1423 浏览

android - 设置为 RTL 的 Android LayoutDirection 并不总是有效

我有 Android 应用程序,我需要将整个应用程序的布局强制为RTL. 我通过使用 xml 属性来做到这一点android:layoutDirection="rtl"

一切正常,直到在我的一个活动中我需要手动finish()活动并返回到前一个活动,此后我手动强制打开RTL方向的每个视图都恢复到LTR模式,直到我完全关闭应用程序并启动它再次。

我正在使用这段代码BaseActivity来强制使用迄今为止运行良好的语言。

注意:我尝试将以下代码放入onCreatemyBaseActivity无济于事:

0 投票
2 回答
98 浏览

android - Xamarin Android:从 Java 到 C# 的等效代码是什么:resource.getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;

我试图从这个 java 代码中获取 Xamarin Android 中的布局方向:

我试图制作这段代码:

但它不起作用。我得到错误: 在此处输入图像描述

我正在尝试在 xamarin Android 中实现此代码(来自 shnizlon 的回答):

根据材料设计指南实施 SearchView

0 投票
0 回答
591 浏览

android - android textview可绘制自动镜像不适用于RTL支持

我已经RTL为我的阿拉伯语申请提供了支持。
除一种情况外,一切正常。

如果我使用android:drawableRightandroid:drawableEnd在我TexView的如下。如果我启用或禁用RTL模式,图标位置将显示完美。但自动镜像不适用于可绘制对象。

0 投票
0 回答
172 浏览

android - 如何在android中从右到左我的菜单项

我想做一个 RTL 菜单。我已阅读此页面:从右到左的菜单项 Androidhttp://developer.android.com/reference/android/util/LayoutDirection.html#LTR 但它们对我没有帮助。我已将 android:supportsRtl="true" 添加到清单文件中。这是xml代码:

但它仍然是ltr。我也试过:

但它也不起作用。

TIA。

0 投票
2 回答
105 浏览

android - 迁移到 androidX 后,在运行时以编程方式更改本地化不再适用于 pre-Oreo sdk 26

我能够使用本文中介绍的方法在运行时以编程方式更改本地化。我能够更改应用程序的语言。+ 布局方向 + 工具栏语言。

这是我的代码:

构建.gradle




}



问题: 在我迁移到 androidX 之前,这段代码一直运行良好。现在,它仅适用于装有 Android Oreo+ 的设备。我在迁移到 androidX 之前检查了一个备份版本,它运行良好。我在这里缺少什么吗?

0 投票
1 回答
115 浏览

android - 更改应用程序区域设置有时不会改变布局的方向

我正在使用以下方法以编程方式更改我的应用程序的语言环境。它工作正常,但是当我使用 Intent.FLAG_ACTIVITY_CLEAR_TOP 标志启动已经存在的singleTask活动时。然后应用程序失去了布局方向,但翻译是正确的。例如,如果应用程序语言是阿拉伯语,则所有视图方向都更改为英语区域设置(从左到右)。可能是什么原因?

我在 BaseActivity 和 Application 类的 attachBaseContext 中调用以下方法。

任何想法都将是可观的。谢谢

0 投票
1 回答
128 浏览

android - 将视图的方向设置为其布局的相反方向

我有一个基于应用程序语言的相对布局及其方向(有两个方向:LTR 和 RTL),并且我在该布局中有一个视图(CheckBox)。现在我想将 Checkbox 的方向设置为与其布局相反的方向。

有什么建议吗?

编辑

在此处输入图像描述 当布局方向为 LTR 时,我想让此复选框方向为 RTL,当布局方向为 RTL 时,我想让此复选框方向为 LTR。

0 投票
0 回答
75 浏览

android - 软键盘显示时约束布局方向改变

我的应用程序中的约束布局和软键盘存在问题。<item name="android:layoutDirection">rtl</item>我通过在默认应用程序主题内添加更改了整个应用程序的布局方向。但这会影响软键盘显示时约束布局的方向。见下面的图片。

在触摸编辑文本之前:

在此处输入图像描述

触摸编辑文本后:

在此处输入图像描述

我努力了:

  1. 清单中的不同组合android:windowSoftInputMode="adjustPan|stateAlwaysHidden|stateHidden"

  2. 添加android:layoutDirection="ltr"到约束布局参数。

0 投票
0 回答
74 浏览

android - 当清单中有`android:supportsRtl =“false”`时,如何在运行时更改ConstraintLayout的布局方向?

背景

我的任务是处理清单中包含的应用程序android:supportsRtl="false"。不知道为什么这样设置,但似乎在某些地方用户可以选择方向。同样在某些情况下它是浮动的(使用系统警报窗口权限)。

问题

我想要一些 ConstraintLayout,我可以在运行时改变它的方向,事实上在这个应用程序中我必须让用户选择方向。

为此,我做了一个小型 POC,结合了我能找到的所有基本案例,以确保所有案例都会受到影响:

正如预期的那样,在 LTR 上,它们都向左对齐。

这里的问题是,无论是否尝试更改布局的方向,它似乎只影响前两种情况(如果标志设置为 false,则更糟,因为它不会导致任何事情发生)。

我试过的

首先,我想看看它是如何在不设置android:supportsRtl="false". 我尝试更改 ConstraintLayout 的布局方向,遗憾的是它只影响了 2 个 TextView:

在此处输入图像描述

当将语言环境更改为 RTL 语言时也会发生这种情况(例如希伯来语)。

正如我写的那样,添加标志使它们都好像仍然在 LTR 上:所有都向左对齐。

我也试过打电话container.requestLayout()。它没有帮助。

我只想在这个布局上工作,而不改变其他地方的行为,这可能会导致那里的视觉错误。所以我不想更改标志(我已经注意到当设备的语言环境设置为 RTL 语言时它会导致很多问题)。

问题

  1. 为什么只有 2 个案例会受到方向的影响?我怎么能让另一个人也受到影响?
  2. 即使设置了标志(),我如何强制改变方向android:supportsRtl="false"?我希望它只适用于这种布局(至少现在是这样),并且不影响应用程序的任何地方。