重力不适用于DialogFragment for API< 14(姜饼)

时间:2014-01-22 11:14:52

标签: android android-dialogfragment

我在我的DialogFragment.onCreateView()中使用以下代码将其重力设置在顶部:

Window window = getDialog().getWindow();
window.setGravity(Gravity.TOP);

这适用于较新的Android API版本,但不适用于使用Gingerbread(API 9或10)的手机/模拟器。我还尝试在onViewCreated()上使用以下代码但没有成功:

View v = getDialog().getWindow().getDecorView();
WindowManager.LayoutParams lp = (WindowManager.LayoutParams)v.getLayoutParams();
lp.gravity = Gravity.TOP;
getActivity().getWindowManager().updateViewLayout(v, lp);

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

试试这个

WindowManager.LayoutParams lp = (WindowManager.LayoutParams)v.getLayoutParams();
lp.y = -200;
lp.x= -200;
getActivity().getWindowManager().updateViewLayout(v, lp);

根据您的要求更改lp.xlp.y的值