Dynamic height of TextView in GridLayout

I have a problem using GridLayout using library compatibility (no validation). I use app:layout_gravity="fill_horizontal" instead of android:layout_gravity="fill_horizontal" , but all the content inside the TextView not displayed. To display everything, I have to set the height of the TextView "Title", but I need a dynamic height, not a given height.

Any idea?

+8
android textview grid-layout clipping
source share
2 answers

You must set layout_width="0dp" and layout_gravity="fill_horizontal" for the TextView.

 <TextView android:layout_width="0dp" app:layout_gravity="fill_horizontal" /> 

Please see the full example here: https://groups.google.com/d/msg/android-developers/OmH3VBwesOQ/ZOGR0SGvC3cJ or here: http://daniel-codes.blogspot.com/2012/01/gridlayout-view -clipping-issues.html

+27
source share

Using a TextView inside a GridLayout problematic, but there is a good way to use both together.

Here is a sample layout:

TextView inside GridLayout

And this is the full xml layout, important lines are marked with ***.

 <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:columnCount="3" * this example uses 3 columns android:orientation="horizontal" > *** use "horizontal" <TextView * just a normal view android:layout_column="0" android:layout_row="0" android:background="#666666" android:text="A" android:textColor="#afafaf" android:textSize="60sp" android:textStyle="bold" /> <TextView * this text will not be cut! android:layout_width="0dp" *** important: set width to 0dp android:layout_height="wrap_content" android:layout_column="1" android:layout_columnSpan="2" * colspan does also work with this android:layout_gravity="fill_horizontal|bottom" *** set to "fill*"! android:layout_row="0" android:text="This view has 2 columns. Lorem ipsum dolor sit amet, consetetur sadipscing elitr." android:textColor="#666666" /> </GridLayout> 

Depending on your needs, this combination will work:

  android:layout_width="0dp" android:layout_height="0dp" android:layout_gravity="fill" android:gravity="bottom" 

Please note that for this you do not need to use any namespace other than android .

+17
source share

All Articles