Java 如何在Android中使用layoutDirection动态镜像整个布局?

Java 如何在Android中使用layoutDirection动态镜像整个布局?,java,android,xml,android-layout,Java,Android,Xml,Android Layout,我正在尝试构建一个android应用程序的前端视图。我必须动态地将整个显示屏推到屏幕的右侧 我想将整个相对布局推到屏幕右侧 以下是我的XML代码: 我想动态地做。 我已尝试将gravity更改为right,layout\u gravity更改为right设置重力()函数。没有什么能解决我的问题。 请帮帮我。 谢谢。在“活动”或“片段”字段中声明一个RelativeLayout对象 private RelativeLayout mRoot; 按如下方式初始化根布局对象变量: 活动中: @Ov

我正在尝试构建一个android应用程序的前端视图。我必须动态地将整个显示屏推到屏幕的右侧

我想将整个相对布局推到屏幕右侧

以下是我的XML代码:


我想动态地做。 我已尝试将
gravity
更改为
right
layout\u gravity
更改为
right
<代码>设置重力()函数。没有什么能解决我的问题。 请帮帮我。
谢谢。

在“活动”或“片段”字段中声明一个RelativeLayout对象

private RelativeLayout mRoot;
按如下方式初始化根布局对象变量:

活动中:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yourLayout);

         mRoot= findViewById(R.id.message_single_layout);
    }
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mRoot= (RelativeLayout) view;
}
在片段中:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yourLayout);

         mRoot= findViewById(R.id.message_single_layout);
    }
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mRoot= (RelativeLayout) view;
}
在任何需要的地方,将根布局方向设置为rtl(如果最小SKD至少为17)。rtl的意思是从右向左

    mRoot.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

我希望这对你有帮助

重力对相对布局不起作用。在布局中或动态地将布局方向设置为rtl时,需要从某些人那里知道什么