我在HorizontalScrollView中嵌入了一个TableLayout。一些列是隐藏的(android:visibility="gone"
)。但是,即使我在TableLayout上有android:stretchColumns="*"
,这些列也不会拉伸到整个宽度。这是我得到的:
<-----------------Screen Width---------------->
<---------HorizontalScrollView Width---------->
<---------TableLayout Width------------------->
<---------TableRow Width---------------------->
<-Col1-Col2-Col3-Col4-Col5->
关于如何解决此问题的任何想法?如果我从XML布局中物理删除了gone
列(Col6-> Col9),则将按预期方式呈现。但是,以某种方式将列设置为走了会干扰StretchColumns。
<HorizontalScrollView
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="wrap_content">
<TableLayout
android:stretchColumns="*"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="match_parent"
android:layout_height="35dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Col1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Col2"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Col3"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Col4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Col5"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:visibility="gone"
android:text="Col6"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:visibility="gone"
android:text="Col7"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:visibility="gone"
android:text="Col8"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:visibility="gone"
android:text="Col9"/>
</TableRow>
</TableLayout>
</HorizontalScrollView>
答案 0 :(得分:1)
提供TextViews android:layout_weight="1"
。更好的是,因为每个TextView都具有相同的样式,只需在values / styles.xml文件中为它们创建样式,如下所示:
<style name="your_text_view_style">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_height">35dp</item>
</style>
,而不是为每个视图设置宽度和高度,只需在布局xml中为其指定此样式即可。
style="@style/your_text_view_style"