Pergunta

Eu tive uma série de problemas com scrollviews. Recentemente eu tentei criar um LinearView qual o conteúdo exceder o tamanho da tela assim que eu criei o novo layout com elemento pai ScrollView e definir a sua largura e altura para valores personalizados (o layout tem que aparecer como diálogo - não preenchendo toda a tela).

Quando o elemento é selecionado a borda vermelha aparece a abraçar o retângulo de predefinidos ScrollView LayoutWidth e LayoutHeight que é OK. Em seguida, colocado no interior do LinearView e definir os valores LayoutWidth e LayoutHeight para fill_parent.

Então, quando eu comecei a adicionar os elementos para o LinearLayout da fronteira (Lile vermelho) envolveu os elementos inseridos, não todo o pai ScrollView.

Assim, quando o conteúdo do LinearLayout (filho de ScrollView) excedeu o tamanho do pai ScrollView o livro não apareceu e os elementos de fundo são simplesmente invisível.

De qualquer forma .., nesse caso, o conteúdo XML foi muito extenso para postar a pergunta aqui e agora estou tendo o mesmo problema com o exemplo mais simples.

A parte seguinte do esquema destina-se a ser um EditText deslocável (no caso da entrada de utilizador excede o tamanho primário do widget). Eu queria definir a altura EditText para 120px, então eu definir o pai ScrollView altura de 120px eo EditText criança fill_parent. Novamente neste caso, o EditText não preenche toda a área ScrollView mas uma única linha:

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

Alguém sabe como remodelar o conteúdo acima de modo que o EditText enche o controle pai e no caso da entrada do usuário excede o tamanho do controle das aparece rolagem?

Obrigado!

Editar:

A seguir estão os screenshots do layout

removido ligação ImageShack mortos
removido ligação ImageShack mortos

Foi útil?

Solução

Seu EditText deve ter uma altura de wrap_content. fill_parent não tem nenhum significado em uma ScrollView. Se quiser que o EditText para preencher o seu ScrollView quando do conteúdo é menor do que o ScrollView, android:fillViewport="true" uso na ScrollView.

Outras dicas

Sim, como Romain disse, necessidades ScrollView seguintes combinação.

  1. para ScrollView android:fillViewport="true"
  2. para criança ScrollView android:layout_height="wrap_content"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top