Saturday 11 August 2018

Edgesforextendedlayout scrollview can host


Esta pergunta já tem uma resposta aqui: Tenho vários LinearLayout s com uma altura combinada que ultrapassa facilmente a altura da tela de um dispositivo. Então, para fazer meu layout rolar, tentei adicionar um ScrollView. Mas infelizmente eu recebo o seguinte erro: Scrollview pode hospedar apenas uma criança direta. Eu fiz alguma pesquisa, mas não consegui realmente entender como resolvê-la, mesmo depois de ler algumas soluções. Eu tentei algumas mudanças, mas nada funcionou para mim até agora. Qualquer ajuda pediu 22 de maio 13 às 19:08 marcado como duplicado por MH .. laalto. Rachel Gallen. Flavian. Emil 23 de maio 13 às 10:43 Esta pergunta foi feita antes e já tem uma resposta. Se essas respostas não respondem totalmente a sua pergunta, faça uma nova pergunta .31 Dias do Android: Day 19ScrollViews Hoje, continuariam 31 Dias do Android, começando a falar sobre duas maneiras diferentes de exibir mais informações do que caberá na tela : 160 ScrollView s e ListView s.160 Hoje nos focaremos em ScrollView s e amanhã será ListView s.160 Devido à forma como esses dois View s funcionam, você não quer combinar os dois.160 Uma vez que eu passei por ambos Off eles amanhã, vou falar sobre por que você deve mantê-los separados.160 Você pode baixar o código de exemplo que começaria hoje com aqui. O ScrollView permite que você crie telas que se assemelhem muito a uma página da web.160160160 Adicionar uma exibição de rolagem a um layout permite que você perca o usuário em qualquer parte do ScrollView verticalmente e horizontalmente.160 Se você executar seu aplicativo agora, você verá lá Não há necessidade de rolagem: 160 No entanto, se você adicionasse uma grande quantidade de texto na parte inferior, isso pode mudar.160 Abra seu arquivo resvaluesstrings. xml e adicione um novo String.160 Diga-o com um grande texto e coloque um texto muito grande String dentro disso.160 Algo assim: para fazer sua string adequadamente longa, o Id recomenda obter alguns parágrafos do Bacon Ipsum .160 Agora abra o arquivo de layout reslayoutmain. xml.160 Você precisa adicionar um novo TextView abaixo do último botão E configurá-lo para o seu valor de texto grande.160 Quando você estiver pronto, você deveria ter algo assim: agora, quando você executa seu aplicativo, você notará que o texto sai da tela e você não tem como vê-lo: Heres onde você pode usar o ScrollView .160 Seu primeiro instinto Ct pode ser para voltar ao seu layout e alterar o LinearLayout na raiz para um ScrollView .160 Se você fizer isso, você será saudado por este erro desagradável: Causado por: java. lang. IllegalStateException: ScrollView pode hospedar apenas uma criança direta Isso significa que você não pode ter mais de uma Exibição como filho do ScrollView .160 Uma vez que seu layout possui alguns TextViews. Um EditText. E alguns botões. Você não pode simplesmente substituir a raiz LinearLayout como essa.160 O que você pode fazer, porém, é envolver o LinearLayout dentro de um ScrollView .160 Isso permite que você tenha um filho único abaixo do ScrollView, mas tenha várias crianças abaixo disso.160 Quando você estiver pronto, seu O XML deve ser assim: agora, quando você executar seu aplicativo, você poderá tocar na tela e arrastrar para cima: observe que quando você se desloca, você verá uma barra de rolagem no lado direito da tela.160 Você notará que você não pode rolar para a direita Ou esquerda.160 Isso ocorre porque o ScrollView apenas suporta a rolagem vertical.160 O elemento HorizontalScrollView permitirá que você role horizontalmente.160 É possível colocar um HorizontalScrollView como o filho do VerticalScrollView, que permitirá que você se deslize nas duas direções, No entanto, o Google diz que esta é uma má idéia .160 Em vez disso, eles sugerem que você substitua o ScrollView e crie seu próprio controle capaz de rolagem vertical e horizontal.160 Isso é totalmente possível e se você pesquisar Na Internet, você encontrará vários exemplos de pessoas fazendo isso e até mesmo o código-fonte para suas implementações.160 Como eu gosto de fazer, lembro-lhe que lembre-se que apenas porque você pode fazê-lo, não significa que você deveria.160 A experiência quando você Tem que percorrer várias direções em um dispositivo de tela pequena não é muito bom (sim, o WebView e o navegador lhe dão essa capacidade e o Id argumenta se gosto às vezes) .160 Existem vários atributos diferentes que você pode usar em um ScrollView Incluindo aqueles que permitem que você altere a forma como as barras de rolagem se parecem, quanto tempo eles estão visíveis, se eles estiverem visíveis, etc.160 Além disso, você pode controlar a rolagem do seu ScrollView com programação, se desejar.160 Por exemplo, se você quiser adicionar um Botão que desencadeia o ScrollView para rolar para o topo, isso é possível fazendo o seguinte: Aqui você está obtendo uma referência ao seu ScrollView e dizendo para rolar para o canto superior esquerdo.160 Outra coisa importante sobre o ScrollV É claro que não precisa ser o elemento raiz do seu layout.160 Se você quisesse ter um cabeçalho de texto na parte superior da tela que sua visão de rolagem não abrangeria, você poderia simplesmente colocar o ScrollView como filho da raiz LinearLayout .160 Heres seu layout XML, onde o ScrollView está apenas envolvendo o Texttext Bigtext: você deve estar pronto para usar o ScrollView s em suas próprias aplicações agora.160 Amanhã, siga o outro método para exibir muita informação em uma única página, ListView s.160 Compartilhar Postar

No comments:

Post a Comment