2014-01-22 3 views
0

Я использую следующий код внутри моего DialogFragment.onCreateView() установить его тяжести на вершине:Гравитация не работает на DialogFragment для API <14 (Gingerbread)

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

попробовать этот

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

изменить значение lp.x и lp.y как на ваше требование

+0

не работает, извините. Но это был хороший способ обхода. Также вы заставили меня видеть, отлаживая его, что 'onViewCreated()' фактически вообще не вызывается на 'DialogFragment'. См. Это: http://stackoverflow.com/questions/10594992/android-dialogfragment-onviewcreated-not-called –

Смежные вопросы