我有一个应用程序正在从json
文件中提取信息:
{
"EVENTS": [
{
"what": " TABLE-QUIZ",
"who": "anyone",
"when": "31st January",
"where": "ABC HELLO"
}
]
}
当我运行应用程序时,有时When
列中的文字会在较小的屏幕上切换到第二行。如果What
列中的文字太大,它将进入第二行而不会被切断。为什么When
列不在What
列的第二行?
以下是我正在使用的布局xml
:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/what"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/textlines"
android:gravity="center"
android:textColor="#fff"
android:textSize="12sp" >
</TextView>
<TextView
android:id="@+id/when"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="0.65"
android:background="@drawable/textlines"
android:gravity="center"
android:textColor="#fff"
android:textSize="12sp" >
</TextView>
<TextView
android:id="@+id/where"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/textlines"
android:gravity="center"
android:textColor="#fff"
android:textSize="12sp" >
</TextView>
<TextView
android:id="@+id/forWho"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/textlines"
android:clickable="true"
android:gravity="center"
android:onClick="onClick"
android:textColor="#fff"
android:textSize="12sp" >
</TextView>
</TableRow>
</TableLayout>
编辑: 如果我添加:
android:minHeight="30dp"
到TextView
然后我可以让它显示两行,但我希望有一个自动生效的解决方案。
答案 0 :(得分:2)
问题是您将TableLayout's width
(父级的宽度)设置为wrap_content
。将其设置为 match_parent
,就像这样
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
...
使When
列无需切断即可转到下一行。
答案 1 :(得分:1)
您需要查看完整数据意味着在Textview上添加此内容
android:singleLine="false"
希望这个会帮助你。
答案 2 :(得分:0)
将所有TextView中的android:layout_weight
更改为1并将android:layout_width
更改为0dp,以便layout_weight="1"
属性可以正常工作。
希望这有帮助!
答案 3 :(得分:0)
我希望这会有所帮助
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<TextView
android:id="@+id/textView41"
android:text="when"
android:textStyle="bold" />
<TextView
android:id="@+id/textView42"
android:gravity="center_horizontal"
android:text="28°C" />
<TextView
android:id="@+id/textView43"
android:gravity="center_horizontal"
android:text="where" />
<TextView
android:id="@+id/textView44"
android:gravity="center_horizontal"
android:text="what" />
<TextView
android:id="@+id/textView44"
android:gravity="center_horizontal"
android:text="for who" />
</TableRow>
</TableLayout>