iTurki
Mira el código XML aquí por favor:
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
</TableLayout>
mi codigo es mucho mas largo que eso, pero simplemente eliminé las partes innecesarias. el problema es que quiero hacer esto TableLayout
desplazable para que se puedan mostrar todas mis cosas.
Traté de poner esta línea en el TableLayout
para hacerlo desplazable:
android:isScrollContainer="true"
Pero NO hace el trabajo. Hay alguna manera ?
estafa ciudadana
Encierra todo en:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
android:layout_weight="1">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
...
</ScrollView>
-
@ciudadano por qué el
LinearLayout
?– Sudhanshu
14/07/2014 a las 20:12
-
@Sudhanshu, esta publicación es de hace 3 años, pero por lo que puedo recordar, es el envoltorio más básico que establece la orientación en vertical.
– ciudadano conn
14 de agosto de 2014 a las 15:22
-
si también necesita desplazamiento horizontal, consulte stackoverflow.com/questions/16623337/…
– wal
30 de septiembre de 2015 a las 13:34
-
bueno, en mi caso, no muestra las últimas filas (no se desplace hasta allí)
– máximo
24 de junio de 2017 a las 14:51
Técnicamente, no necesita LinearLayout en ScrollView:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
android:layout_weight="1">
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
android:isScrollContainer="true">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<--!Everything Else You Already Have-->
</TableRow>
</TableLayout>
</ScrollView>
Una vez que ocupe suficiente espacio dentro de ScrollView, el efecto de desplazamiento se activará (algo así como un área de texto HTML, una vez que tenga suficientes líneas de texto, el desplazamiento se activa).
También puede anidar ScrollView, pero nuevamente no puede sentir el efecto de desplazamiento hasta que tenga suficiente contenido en ScrollView.
-
Tienes razón, dentro de ConstraintLayout también funciona. Mira mi respuesta a continuación. stackoverflow.com/questions/6513718/…
– Nakamoto
4 de julio de 2018 a las 17:22
gracias mbauer se soluciono mi problema lo pongo en orden
- TableLayout
- TableRow con fin (para el encabezado de las columnas)
- Vista de desplazamiento
- diseño lineal
- x TableRow con fin
- fin LinearLayout
- final ScrollView
- fin TableLayout
-
¡NO FUNCIONAN! El ancho de columna en “2. Table Row” no era igual al ancho de columna en “5. x TableRow”
– AnViKo
17 de julio de 2017 a las 1:11
También funciona dentro del diseño de restricciones. Simplemente agregue los siguientes atributos en su TabLayout.
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="true">
. . .