0:00:00.000,0:00:03.400 Antes de começar,[br]vou responder a esta pergunta. 0:00:03.434,0:00:06.234 Eu só sei[br]de dois ViewGroups: 0:00:06.267,0:00:08.434 LinearLayouts[br]e RelativeLayouts. 0:00:08.467,0:00:10.133 A questão aqui... 0:00:10.167,0:00:13.434 é que estes espaço[br]deve ser dividido ao meio. 0:00:13.467,0:00:16.467 Usando layout_weight[br]fica bem fácil. 0:00:17.234,0:00:19.801 Bem, vamos ver o código. 0:00:19.834,0:00:21.734 Não estou mais[br]trabalhando em Java, 0:00:21.767,0:00:25.567 então vou até a aba[br]activity_main.xml. 0:00:25.601,0:00:27.434 Aqui está meu XML. 0:00:28.133,0:00:32.200 Eu vou começar[br]colando todo este código 0:00:32.234,0:00:33.701 em outro LinearLayout. 0:00:33.734,0:00:36.300 Este é o LinearLayout pai... 0:00:36.334,0:00:39.000 dos meus dois[br]LinearLayouts menores. 0:00:39.033,0:00:43.701 E vou trazer estas duas linhas[br]aqui para cima... 0:00:43.734,0:00:46.334 porque elas precisam[br]estar anexadas à rootView. 0:00:47.200,0:00:49.400 Adiciono uma chave[br]de fechamento. 0:00:49.434,0:00:51.400 O Android Studio[br]fez automaticamente 0:00:51.434,0:00:53.701 uma tag de fechamento[br]para mim aqui. 0:00:53.734,0:00:56.834 Vou simplesmente[br]recortá-la... 0:00:56.868,0:00:59.834 e colá-la no final. 0:01:00.934,0:01:05.000 Certo,[br]um sublinhado vermelho. 0:01:05.033,0:01:07.701 O erro diz... 0:01:07.734,0:01:10.467 que devo definir[br]layout_height e layout_width. 0:01:10.501,0:01:12.434 Opa! Vamos fazer isso. 0:01:13.100,0:01:15.400 Como esta é a rootView, 0:01:16.033,0:01:18.133 usarei match_parent. 0:01:19.834,0:01:22.901 Certo, eu tenho[br]um LinearLayout 0:01:22.934,0:01:26.200 envolvendo[br]um LinearLayout filho. 0:01:26.234,0:01:27.801 Se eu pré-visualizar... 0:01:28.534,0:01:30.234 É quase a mesma coisa. 0:01:30.267,0:01:34.234 Certo, então vou copiar... 0:01:34.267,0:01:37.701 tudo no LinearLayout[br]do time A... 0:01:37.734,0:01:41.901 e colarei sob o time A. 0:01:41.934,0:01:45.801 Este será o LinearLayout[br]do time B. 0:01:47.434,0:01:52.000 As coisas estão começando[br]a ficar meio bagunçadas. 0:01:52.033,0:01:57.000 Vou apertar Cmd+A,[br]ou "Selecionar tudo", 0:01:57.033,0:02:01.133 e vou usar o atalho de teclado[br]Cmd+Option+L 0:02:01.167,0:02:03.267 para formatar meu código. 0:02:03.300,0:02:07.734 No Windows, é Ctrl+Alt+L.[br]Agora está melhor. 0:02:07.767,0:02:11.300 Quero garantir que você está[br]entendendo o que houve. 0:02:11.334,0:02:16.400 No topo,[br]há um LinearLayout raiz. 0:02:16.434,0:02:20.968 Começa aqui e,[br]rolando para o fim, 0:02:21.000,0:02:22.534 termina aqui. 0:02:23.167,0:02:26.934 Dentro do LinearLayout raiz -[br]vou voltar para cima - 0:02:28.000,0:02:31.801 tem um layout filho,[br]que começa aqui - 0:02:31.834,0:02:33.667 vou rolar devagar - 0:02:35.501,0:02:38.667 e termina aqui.[br]É do time A. 0:02:38.701,0:02:40.801 E tem outro[br]LinearLayout filho, 0:02:40.834,0:02:43.734 que começa aqui -[br]vou rolar devagar - 0:02:45.033,0:02:47.400 e termina aqui,[br]que é do time B. 0:02:47.434,0:02:49.267 Percebi algo vermelho[br]lá em cima, 0:02:49.300,0:02:53.033 então vou voltar[br]para ver o erro. 0:02:54.200,0:02:56.901 "Orientação errada,[br]não especificada 0:02:56.934,0:02:58.200 e padrão é horizontal, 0:02:58.234,0:03:00.267 mas layout tem[br]muitos filhos 0:03:00.300,0:03:03.767 e a largura de pelo menos um[br]é igual à do pai." 0:03:05.200,0:03:07.534 Eu quero mesmo[br]que seja horizontal. 0:03:07.567,0:03:10.367 Mas vamos especificar[br]a orientação. 0:03:11.133,0:03:14.934 Isto não é de fato necessário,[br]pois o padrão é horizontal, 0:03:14.968,0:03:16.767 mas é bom deixar explícito. 0:03:17.834,0:03:21.334 E dizia algo sobre os filhos[br]estarem se sobrepondo. 0:03:22.167,0:03:23.934 Vou pré-visualizar. 0:03:24.834,0:03:26.868 Não parece ter mudado[br]muita coisa, 0:03:26.901,0:03:31.701 embora eu tenha tido o trabalho[br]de copiar outro LinearLayout. 0:03:31.734,0:03:34.767 Pode ter a ver com o erro[br]que acabei de ler. 0:03:35.367,0:03:38.701 Dizia que é[br]um layout horizontal, 0:03:38.734,0:03:42.200 que tenta justapor[br]estes LinearLayouts, 0:03:42.234,0:03:46.434 mas que o layout_width[br]do LinearLayout 0:03:46.467,0:03:49.701 é match_parent,[br]o que toma a tela. 0:03:49.734,0:03:54.133 Então meu primeiro LinearLayout[br]está tomando a tela toda... 0:03:54.167,0:03:58.868 e o outro está justaposto[br]em algum lugar fora da tela. 0:03:59.634,0:04:03.200 Vamos pensar[br]no que pretendemos. 0:04:03.234,0:04:06.467 Queremos que os layouts[br]tomem o mesmo espaço 0:04:06.501,0:04:07.868 e fiquem lado a lado. 0:04:07.901,0:04:11.601 Eis o que teremos que usar:[br]layout_weights. 0:04:11.634,0:04:15.200 Vou até o primeiro[br]LinearLayout... 0:04:15.234,0:04:19.901 e adicionarei[br]"layout_weight=1". 0:04:20.901,0:04:25.934 Também vou definir[br]sua largura como 0. 0:04:25.968,0:04:29.701 Já dá para ver que temos[br]dois LinearLayouts 0:04:29.734,0:04:32.701 que só não estão[br]sendo bem exibidos. 0:04:32.734,0:04:34.300 Mas já melhorou. 0:04:34.334,0:04:37.501 Também porei layout_weight[br]no meu segundo LinearLayout, 0:04:37.534,0:04:38.634 este aqui. 0:04:38.667,0:04:41.968 Vou rolar para baixo...[br]Aqui está o segundo. 0:04:42.000,0:04:44.000 Vou fazer[br]a mesmíssima coisa. 0:04:44.033,0:04:48.968 Definirei que ele também[br]tem peso 1, 0:04:49.000,0:04:51.334 ou seja,[br]layout_weights iguais, 0:04:52.434,0:04:56.033 e definirei a largura como 0. 0:04:56.567,0:04:59.901 Bom, a razão para definir[br]as larguras como 0... 0:04:59.934,0:05:04.300 é que, se os dois lados[br]não tomam nenhum espaço, 0:05:04.334,0:05:08.501 todo o espaço extra,[br]ou seja, a tela toda, 0:05:08.534,0:05:12.000 será dividido ao meio[br]e distribuído aos dois, 0:05:12.033,0:05:14.701 pois ambos têm[br]o mesmo peso. 0:05:14.734,0:05:17.300 Se isso for meio confuso,[br]deixei alguns vídeos 0:05:17.334,0:05:20.100 nas "Notas do instrutor"[br]sobre layout_weight. 0:05:20.133,0:05:24.601 Bom, está bem legal,[br]só que diz que é do time A. 0:05:24.634,0:05:27.133 Vou rolar a tela[br]e mudar isso. 0:05:27.167,0:05:30.300 Pronto, mudei para time B. 0:05:30.334,0:05:34.868 Você pode ter percebido[br]que tem outro erro aqui. 0:05:34.901,0:05:39.501 Este erro acontece[br]por termos um ID duplicado. 0:05:39.534,0:05:42.133 Lembre-se,[br]eu copiei e colei um código. 0:05:42.167,0:05:45.868 Há duas coisas tentando[br]ter o mesmo ID, 0:05:45.901,0:05:47.801 "team_a_score". 0:05:47.834,0:05:51.567 Vou mudar[br]para "team_b_score". 0:05:51.601,0:05:53.601 Está bem bonito! 0:05:53.634,0:05:55.834 Está meio pequeno,[br]vou dar um zoom, 0:05:56.634,0:05:58.601 mas diz time B aqui. 0:05:59.133,0:06:02.200 Todos os botões[br]e TextViews estão certos, 0:06:02.234,0:06:04.234 então vou tentar rodar[br]no meu celular. 0:06:05.300,0:06:07.801 Pronto. Está bem bonito. 0:06:07.834,0:06:12.000 Os botões do time A[br]estão respondendo, 0:06:12.033,0:06:13.200 que ótimo. 0:06:13.234,0:06:18.634 E os do time B, bem...[br]também respondem. 0:06:18.667,0:06:20.634 Que coisa. 0:06:20.667,0:06:23.234 Mas nós só queríamos[br]consertar o XML, 0:06:23.267,0:06:25.434 não nos importamos[br]com o Java. 0:06:25.467,0:06:29.734 Agora que o XML funciona,[br]que tal consertar o Java?