Pergunta

Quero viabilizar a utilização de uma atividade em paisagem/retrato.A atividade começa com o layout da orientação atual (ou seja, antes de iniciar a atividade).Depois disso, terá de persistir e não reagir à mudança de orientação.

Eu tentei colocar

android:configChanges="orientation" 

no manifesto da atividade e prevalecendo

@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
}

Para não fazer nada (tentei comentar também a super chamada, mas isso leva à exceção), mas isso não tem o efeito desativando a mudança de rotação - a alteração é processada e o layout reconstruído, ele simplesmente não usa o correto.

E eu não posso usar

android:screenOrientation

Porque parece que preciso especificar apenas um modo para sempre, e também não é disso que preciso.E de qualquer forma, se eu especificar algo ali, a atividade será reconstruída durante a rotação.Tentei com

android:screenOrientation="nosensor"

isso não faz nada

Aqui há um bloqueio de orientação atual com código http://www.samcoles.co.uk/mobile/android-lock-and-unlock-screen-orientation/

Mas consegue o mesmo efeito que especificar a orientação em XML (mantém o layout, mas reconstrói a atividade).Está um pouco mais próximo do que desejo (mantém a orientação desde o início), mas reconstrói a atividade e não quero que ela reaja de forma alguma.

Foi útil?

Solução

Android: Configchanges="Orientação" não funciona no emulador, mas funciona bem em dispositivos.

Outras dicas

Tentar

@Override
public void onConfigurationChanged(Configuration newConfig) {
    newConfig.orientation = getResources().getConfiguration().orientation;
    super.onConfigurationChanged(newConfig);
}

Adicione ao onCreate

if (this.getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}
        else {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top