作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我最近完成了一个项目的构建,我的下一个目标是专门为 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/
我最近完成了一个项目的构建,我的下一个目标是专门为 RTL 创建一个构建风格,一个重要的注意事项是我需要强制 RTL 布局,独立于设备语言。 所以我设法使用 View 方法 setLayoutDire
有谁知道 ViewCompat.setLayoutDirection 是否适用于 17 以下的 API 级别? 我在整个互联网上搜索解决方案,但找不到可靠的解决方案。 最佳答案 setLayoutDi
我是一名优秀的程序员,十分优秀!