1 00:00:02,190 --> 00:00:08,880 Uma observação importante: a API de dimensões é de longe a API mais importante que você possui e o React Native quando se trata 2 00:00:08,880 --> 00:00:12,390 de trabalhar dinamicamente com a maneira como largura e altura da etiqueta. 3 00:00:12,420 --> 00:00:16,640 Faz parte do React Native e não depende de exportação ou algo do tipo. 4 00:00:16,810 --> 00:00:24,690 A conta Ex, no entanto, também fornece uma API que você pode usar. Você pode importar algo da expo neste dia apenas para 5 00:00:24,690 --> 00:00:30,270 aplicativos funcionais e expo, é claro, e esse é o objeto de orientação da tela. 6 00:00:30,270 --> 00:00:36,210 Este é um objeto que ajuda a detectar alterações na orientação da tela e também bloqueia a orientação da tela quando 7 00:00:36,210 --> 00:00:37,760 o aplicativo está em execução. 8 00:00:37,860 --> 00:00:43,800 Portanto, mesmo se você inicialmente não definir nenhum bloqueio aqui no arquivo Jason do seu aplicativo, ainda poderá adicionar um 9 00:00:43,800 --> 00:00:46,550 após iniciar o aplicativo com a ajuda dessa API. 10 00:00:46,770 --> 00:00:52,870 A API de orientação da tela tem algumas funcionalidades e eu quero orientá-lo rapidamente por elas. 11 00:00:52,890 --> 00:00:56,460 É claro que você pode brincar com eles para aprender mais sobre eles. 12 00:00:56,490 --> 00:01:05,080 Por exemplo, você precisa bloquear o método assíncrono, isso bloqueia a orientação no final e você define o bloqueio. 13 00:01:05,080 --> 00:01:12,060 Agora, usando o ponto de orientação da tela, você define isso para o bloqueio de orientação e, por exemplo, para 14 00:01:12,060 --> 00:01:18,930 retratar ou retratar operações de retrato ou muitas possibilidades de configuração que você tem aqui e agora estou chamando 15 00:01:18,930 --> 00:01:20,910 isso na tela do jogo. 16 00:01:20,910 --> 00:01:27,680 Isso significa que eu posso girar livremente enquanto estiver configurando o jogo, mas assim que o jogo começar, você 17 00:01:27,680 --> 00:01:33,560 verá que a orientação não muda mais, o que pode ser útil se você precisar travar 18 00:01:33,560 --> 00:01:34,120 isso. 19 00:01:34,250 --> 00:01:41,360 Quando seu aplicativo alcança um determinado ponto, além dessa API de orientação discreta, também é possível obter a orientação 20 00:01:41,360 --> 00:01:47,300 atual e a sincronização assíncrona simplesmente significa que isso oferece a você uma promessa que 21 00:01:47,300 --> 00:01:49,070 não faz isso imediatamente. 22 00:01:49,070 --> 00:01:54,110 Promete a você a obtenção do resultado final, mas o resultado será dados muito rápidos. 23 00:01:54,110 --> 00:02:01,100 Apenas não na próxima linha de código imediatamente e você também pode configurar um ouvinte de mudança de orientação, por exemplo, 24 00:02:01,100 --> 00:02:05,070 e esse ouvinte de mudança de orientação fará o que parece. 25 00:02:05,090 --> 00:02:10,850 Ele dispara uma função sempre que você muda de orientação, o que pode ser útil se você tiver layouts 26 00:02:10,850 --> 00:02:16,070 diferentes que dependem apenas da pergunta se você está no modo retrato ou paisagem e não tanto 27 00:02:16,070 --> 00:02:21,600 nas dimensões, porque é claro que é importante ter em mente que, com o código que escrevemos aqui 28 00:02:21,620 --> 00:02:27,860 com efeito de uso, em que ouvimos alterações nas dimensões que tecnicamente não reagimos apenas às alterações de orientação, embora normalmente 29 00:02:28,010 --> 00:02:31,420 seja isso que altera a largura e a altura disponíveis. 30 00:02:31,490 --> 00:02:36,800 Não há realmente mais nada que possa alterá-lo, mas você não está estritamente verificando apenas se 31 00:02:36,800 --> 00:02:43,680 sua orientação mudou e não pode verificar diretamente se a orientação mudou e agora é um retrato. Em vez disso, você pode 32 00:02:43,910 --> 00:02:49,700 ouvir uma alteração e depois em a função que você disparou verificou o novo nível ausente e meio 33 00:02:49,880 --> 00:02:50,890 que descobriu. 34 00:02:50,930 --> 00:02:51,200 ESTÁ BEM. 35 00:02:51,230 --> 00:02:55,000 Provavelmente já estamos na paisagem agora. 36 00:02:55,190 --> 00:03:00,590 Isso é algo que você pode adivinhar, mas não sabe porque está verificando a largura e 37 00:03:00,770 --> 00:03:03,620 a altura, e não a orientação agora. 38 00:03:03,610 --> 00:03:05,990 Normalmente, é a largura e a altura que importam para você. 39 00:03:05,990 --> 00:03:11,060 Embora você possa não estar interessado se está no modo paisagem e tem muita largura ou se o aplicativo 40 00:03:11,060 --> 00:03:15,830 está executando um tapa-olho e, portanto, tem mais largura do que em um telefone, você pode estar 41 00:03:15,830 --> 00:03:21,020 interessado na pergunta com quanto eu tenha e depois renderize seu layout com base nisso, não importa se é esse 42 00:03:21,020 --> 00:03:25,100 o caso, porque você está no telefone horizontal ou no iPad em modo retrato. 43 00:03:25,400 --> 00:03:31,250 Então eles ofereceram a você que a API de dimensões é a API importante, mas eu não queria ocultar a orientação 44 00:03:31,250 --> 00:03:37,400 da tela que a API Expo expõe de você, especialmente porque também pode ser usada para bloquear e desbloquear, é claro, a 45 00:03:37,560 --> 00:03:40,700 orientação em tempo de execução que pode ser útil às vezes.