Android TableLayout Pergunta: Obtenha uma coluna de largura fixa?
-
23-09-2019 - |
Pergunta
(Editado: estou um passo além do que antes)
Eu tenho tentado obter um tablelayout simples de 2 colunas, onde tenho um linearlayout na minha coluna esquerda que adiciono dinamicamente elementos aos quais preenche o espaço horizontal, exceto a coluna fixa de 100px.
Aqui está o que tenho até agora, que funciona para mim se o LinearLayout contiver mais de um elemento. Se contiver apenas um elemento, a coluna direita será empurrada para a direita da tela
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@layout/main">
<TableLayout android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.4"
android:orientation="vertical"></LinearLayout>
<com.epaga.ArcDrawableView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="right" android:layout_weight="0.1" >
</com.epaga.ArcDrawableView>
</TableRow>
</TableLayout>
</ScrollView>
Coisas que eu tentei:
- Alterar a visão desenhada (que deveria ser a coluna fixa) para
android:layout_width="150px"
- alterando a
stretchcolumns
configuração para 0. - Mudando as colunas da esquerda '
layout_width
Para Fill_Parent (empurra a coluna direita para fora da tela) ou Wrap_Content (colapsa a coluna esquerda)
Alguma ideia?
Solução
Alguma ideia?
Primeiro, por que você está usando um TableLayout
? Por que não usar apenas aninhados LinearLayouts
? Você já decidiu que não se importa com o uso principal de um TableLayout
- Computação automática dos tamanhos das colunas- porque você está tentando corrigir os tamanhos da coluna.
Segundo, você pode fazer com que ele funcione usando um widget comum para a coluna certa, em vez de seu personalizado View
classe? Seu problema pode ser devido ao seu costume View
- Eu começaria conseguindo algo funcionando da maneira que você deseja usar widgets comuns.