2014-02-12 3 views
1

Как заблокировать один (и только один) фрагмент для вращения на моей версии планшета?Как заблокировать вращение фрагмента

Я использую фрагмент LIB для моего QRcode сканера, но я не знаю, почему это один вращается, но не ADAPTE вид камеры на новый формат просмотра:/

Edit: я использую configChange для обрабатывать вращение на других фрагментах.

ответ

0

Переопределить setUserVisibleHint() в каждом фрагменте.

В портрете только фрагменты:

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
super.setUserVisibleHint(isVisibleToUser); 
if(isVisibleToUser) { 
    Activity a = getActivity(); 
    if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
} 

в фрагменте портрет/пейзаж: `

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
super.setUserVisibleHint(isVisibleToUser); 
if(isVisibleToUser) { 
    Activity a = getActivity(); 
    if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); 
} 
} 

Это позволит вся деятельность вращаться в одном фрагменте, но исправить ее портрет в других.

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