我想知道为什么在纵向模式下,这个android 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="match_parent"
android:padding="20dp"
android:orientation="horizontal"
android:columnCount="5">
<Switch
android:id="@+id/Switch1"
android:layout_column="0"
android:layout_columnSpan="5"
android:layout_row="0"
android:text="Use only WiFi when sending data?"
android:layout_marginBottom="10dp"
android:layout_columnWeight="5"
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content" />
<TextView
android:id="@+id/TextView1"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_row="1"
android:padding="5dp"
android:text="Вкупно собрани податоци: "
android:layout_columnWeight="2"
android:maxHeight="60dp"
android:layout_gravity="fill_horizontal"
android:scrollHorizontally="false"
android:layout_width="wrap_content"
/>
<TextView
android:id="@+id/TextView2"
android:layout_column="2"
android:layout_row="1"
android:padding="5dp"
android:text="Empty Space 1"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content" />
<TextView
android:id="@+id/TextView3"
android:layout_column="3"
android:layout_row="1"
android:padding="5dp"
android:text="Empty Space 1"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content" />
<TextView
android:id="@+id/TextView4"
android:layout_column="4"
android:layout_row="1"
android:padding="5dp"
android:text="Empty Space 1"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content" />
</GridLayout>
它应该是这样的:
|--1--|--2--|--3--|--4--|--5--|
| fills all columns |
|-----------|-----|-----|-----|
| 2 | 1 | 1 | 1 |
|-----------|-----|-----|-----|
我觉得奇怪的是,这在横向模式下运行良好,直到我在Switch或Text Views中插入更多文本,所以问题可能是因为内容没有包装,但正如你所看到的,我试图设置{ {1}}到`wrap_content',它仍然不起作用......所以缺少什么......?
*顺便说一句,我使用Xamarin,但我不相信这是Xamarin的设计师问题,因为在运行时我得到的设计与我在设计师中看到的相同......
答案 0 :(得分:0)
我认为问题是第一个TextView
的文字太长了。如果希望文本在内容长度增加时换行,通常我们可以将视图宽度指定为0dp(android:layout_width="0dp"
),这样网格布局就会动态计算宽度。
我发现android:layout_columnWeight="5"
的{{1}}会影响第二行Switch
的布局。改变你的代码如下,它在我身边起作用:
TextView