gpt4 book ai didi

java - DialogFragment 上的 Android setLayoutDirection

转载 作者:搜寻专家 更新时间:2023-11-01 08:34:52 24 4
gpt4 key购买 nike

我最近完成了一个项目的构建,我的下一个目标是专门为 RTL 创建一个构建风格,一个重要的注意事项是我需要强制 RTL 布局,独立于设备语言。

所以我设法使用 View 方法 setLayoutDirection 在大部分应用程序上强制 RTL 并旋转所有不合作的 View ,但出于某种原因,我无法镜像该应用程序,它似乎仅在设备语言更改时才会翻转。我试图在 onCreateDialog 中翻转对话框,访问 getView,它返回 null,我不确定我还能做什么......

有人可以帮我将 DialogFragment 翻转到 RTL 吗?

谢谢。

最佳答案

您可以为 AlartDialog 使用 getWindow().getDecorView().setLayoutDirection(),标题和内容的布局方向会改变,但按钮不会改变。

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);

AlertDialog alertDialog = builder.create();

// Here you can change the layout direction via setLayoutDirection()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
alertDialog.getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}

return alertDialog;
}

关于java - DialogFragment 上的 Android setLayoutDirection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37625277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com