我使用GridLayout使用库兼容性时遇到问题(没有尝试过)。我使用的是app:layout_gravity="fill_horizontal"
而不是android:layout_gravity="fill_horizontal"
,但TextView
中的所有内容都未显示。为了显示所有内容,我必须设置TextView
“标题”的高度,但我想要一个动态高度,而不是设置高度。
有什么想法吗?
答案 0 :(得分:30)
您必须为TextView设置layout_width="0dp"
和layout_gravity="fill_horizontal"
。
<TextView
android:layout_width="0dp"
android:layout_gravity="fill_horizontal" />
请在此处查看完整示例:https://groups.google.com/d/msg/android-developers/OmH3VBwesOQ/ZOGR0SGvC3cJ或此处:http://daniel-codes.blogspot.com/2012/01/gridlayout-view-clipping-issues.html
答案 1 :(得分:19)
在TextView
内使用GridLayout
是有问题的,但 是将两者结合使用的好方法。
这就是示例布局的样子:
这是完整的布局xml,重要的行标有***。
<?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>
根据您的需要,此组合也可以使用:
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="fill"
android:gravity="bottom"
请注意,您不必使用android
以外的任何命名空间来实现此目的。