android - DialogFragment在Android中的位置

标签 android android-layout android-fragments android-dialogfragment

我有一个 DialogFragment 来显示一个类似于弹出屏幕的 View。 窗口始终出现在屏幕中间。 有没有办法设置 DialogFragment 窗口的位置? 我查看了source code但还没有找到任何东西。

最佳答案

试试这样的:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    getDialog().getWindow().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP);
    WindowManager.LayoutParams p = getDialog().getWindow().getAttributes();
    p.width = ViewGroup.LayoutParams.MATCH_PARENT;
    p.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
    p.x = 200;
    ...
    getDialog().getWindow().setAttributes(p);
    ...

getDialog().getWindow()的其他方法。

一定要在调用 set-content 后设置位置。

关于android - DialogFragment在Android中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9698410/

相关文章:

java - 防止 fragment restoreViewState()

java - 无法解析方法ComputeDistanceBetween

android - 设计问题 - RecyclerView 和 Fragments 之间的通信

java - 动态填充字符串数组

android - 如何在相对布局中以父 View 为中心对齐下方的 View

android - 截取 LinearLayout 和 RecyclerView 的屏幕截图

android - 查看其父级高度和宽度的一半

android expandablelistview不展开也不接收点击事件

php - 从 MySQL 获取数据到 android 并在 "App List"选项卡下显示为列表?

java - 应用程序关闭时,GCM 广播接收器未检测到 gcm 通知