Eu só quero definir alguns sinalizadores quando minha orientação estiver na paisagem para que, quando a atividade for recriada em onCreate (), eu possa alternar entre o que carregar no retrato em relação à paisagem. Eu já tenho um xml de layout-land que está lidando com meu layout.
public void onConfigurationChanged(Configuration _newConfig) {
if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
this.loadURLData = false;
}
if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
this.loadURLData = true;
}
super.onConfigurationChanged(_newConfig);
}
Substituir onConfigurationChanged impedirá que meu xml de layout-land seja carregado na orientação paisagem.
Eu só quero obter a orientação atual do meu dispositivo em onCreate (). Como posso conseguir isso?
java
android
configuration
orientation
Sheehan Alam
fonte
fonte
Quando a superclasse de
this
éContext
fonte
Em alguns dispositivos,
void onConfigurationChanged()
podem falhar. O usuário usará esse código para obter a orientação atual da tela.E use
fonte
isso dará toda orientação como normal e reversa
e lidar com isso como
fonte
final int angle = (rotation == Surface.ROTATION_90) ? 90 : (rotation == Surface.ROTATION_180) ? 180 : (rotation == Surface.ROTATION_270) ? 270 : 0;
esse comando retorna o valor int 1 para Retrato e 2 para Paisagem
fonte
No caso de alguém gostaria de obter significativa descrição orientação (como aquele passado para
onConfigurationChanged(..)
com aquelesreverseLandscape
,sensorLandscape
e assim por diante), basta usargetRequestedOrientation()
fonte
Na sua classe de atividade, use o método abaixo:
Em seguida, para declarar que sua atividade lida com uma alteração na configuração, edite o elemento apropriado no arquivo de manifesto para incluir o
android:configChanges
atributo com um valor que represente a configuração que você deseja manipular. Os possíveis valores estão listados na documentação doandroid:configChanges
atributo (os valores mais usados são "orientação" para impedir reinicializações quando a orientação da tela muda e "keyboardHidden" para impedir reinicializações quando a disponibilidade do teclado é alterada). Você pode declarar vários valores de configuração no atributo, separando-os com um pipe | personagem.Isso é tudo!!
fonte
se você deseja substituir esse método onConfigurationChanged e ainda deseja que ele faça o básico, considere usar super.onConfigyrationChanged () como a primeira instrução no método substituído.
fonte
Eu só quero propor outra alternativa que diga respeito a alguns de vocês:
implica que declaramos explicitamente o layout a ser injetado.
Caso desejemos manter a injeção automática, graças às pastas layout-land e layout. Tudo o que você precisa fazer é adicioná-lo ao onCreate:
Aqui, exibimos ou não a barra de ação, dependendo da orientação do telefone
fonte