Como criar um layout dinâmico maior que a tela?
Eu quero criar um layout dinamicamente expansível que pode crescer refletindo a entrada do usuário. Primeiro, eu criei um layout de atividade que permite a rolagem em ambas as direções (isso não é minha invenção, eu usei a idéia explicada emum comentário para outra pergunta com algumas melhorias):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="false"
android:clipToPadding="false"
tools:ignore="UselessParent" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="false"
android:clipToPadding="false" >
<RelativeLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="false"
android:clipToPadding="false" >
</RelativeLayout>
</FrameLayout>
</FrameLayout>
Em seguida, criei um layout de interface do usuário simples, uma visualização de texto e um layout linear vertical, abaixo. Aqui está o meu message_with_replies.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/header"
android:layout_width="300dp"
android:layout_height="wrap_content" >
<!-- some text views and buttons here,
I've removed them to keep things simple,
see the screenshot below -->
</LinearLayout>
<LinearLayout
android:id="@+id/replies"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
Observe a margem de 10dp norespostas layout e os atributos relacionados ao recorte.
Então eu posso agora inflar um item com o layout message_with_replies e adicioná-lo aoconteúdo layout da atividade e, em seguida, inflar outro item e adicioná-lo aorespostas layout linear dentro do primeiro item e assim por diante, criando assim uma hierarquia tipo árvore. E a árvore inteira é exibida e rolada horizontalmente e verticalmente.
No entanto, parece que o layout ainda é limitado de alguma forma com o tamanho da tela. Eu tenho dois problemas:
1) Os itens além da borda direita parecem ótimos, mas não recebem entrada do usuário. 2) O layout além da borda inferior está bagunçado.
Aqui está a captura de tela. Da esquerda para a direita: 1) Tudo parece bem, 2) Oops, o botão está na borda, 3) Oops, o fundo está bagunçado.
Parece que eu perdi algo simples, mas escondido. Como faço o layout funcionar além das bordas da tela?