TableRow 作为 LinearLayout 的奇怪行为
Posted
技术标签:
【中文标题】TableRow 作为 LinearLayout 的奇怪行为【英文标题】:Strange behaviour of TableRow as a LinearLayout 【发布时间】:2010-12-31 07:04:50 【问题描述】:我注意到 TableRow 有一个奇怪的地方。
<TableLayout
android:layout_
android:layout_
android:stretchColumns="0">
<TableRow
android:background="#9932cc"
android:minHeight="40px"
android:orientation="horizontal">
<LinearLayout
android:paddingLeft="10px"
android:paddingRight="10px"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:layout_
android:layout_
android:orientation="horizontal">
<ImageView
android:background="@drawable/circle_checkmark"
android:layout_
android:layout_
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/text1"
android:background="#ffffff"
android:textColor="#161616"
android:text="11111 11111 11111 11111 11111 11111 11111 11111 11111 "
android:layout_gravity="center_vertical"
android:layout_
android:layout_ />
</LinearLayout>
</TableRow>
</TableLayout>
此代码无法正常工作,因为 TextView text1 不会将其换行,只是延伸到屏幕之外。我已经设法通过将此 LinearLayout 嵌入到 RelativeLayout 中使其工作,但它似乎是最不优雅的解决方案,而且我不明白上面的代码有什么问题......
【问题讨论】:
【参考方案1】:抱歉忽略了。似乎是 ADT 或 Eclipse 错误。现在一切正常
<TableRow
android:background="#9932cc"
android:minHeight="40px"
android:orientation="horizontal"
android:layout_
android:layout_
android:paddingLeft="3dip"
android:paddingRight="3dip">
<ImageView
android:layout_
android:layout_
android:background="@drawable/circle_checkmark" />
<TextView
android:id="@+id/text1"
android:background="#ffffff"
android:textColor="#161616"
android:text="Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello "
android:layout_
android:layout_ />
</TableRow>
【讨论】:
【参考方案2】:您还可以将包含文本的列标记为“可收缩”(参见 javadoc)。
【讨论】:
以上是关于TableRow 作为 LinearLayout 的奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章