欢迎来到天天文库
浏览记录
ID:42592770
大小:13.55 KB
页数:3页
时间:2019-09-18
《使用TableLayout应该注意的地方》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TableLayout和我们平时在网页上见到的Table有所不同TableLayout没有边框的它是由多个TableRow对象组成每个TableRow可以有0个或多个单元格每个单元格就是一个View。这些TableRow单元格不能设置layout_width宽度默认是fill_parent的只有高度layout_height可以自定义默认是wrap_content。nbspnbspnbspnbsp单元格可以为empty并且通过android:layout_column可以设置index值实现跳开某些单元格。在
2、TableRow之间添加View设置layout_height1dip以及背景色就可以实现一条分割线。android:layout_span可以设置合并几个单元格。android:shrinkColumns可收缩的columnandroid:stretchColumns可伸展的columnandroid:shrinkColumns和android:stretchColumns的值都是以0开始的index但必须是string值即用125来表示。可以用来表示allcolumns。而且同一column可以同时设置为
3、shrinkable和stretchable。如果使用TableLayout类的setColumnShrinkable/setColumnStretchableintcolumnIndexbooleanisShrinkable就麻烦些了需要一个一个column来设置。也可以使用TableLayout的setShrinkAllColumns/setStretchAllColumns来设置allcolumns。判断这些column是否shrinkable或stretchable可以调用isColumnShrink
4、able/isColumnStretchableintcolumnIndexisShrinkAllColumns/isStretchAllColumns。而动态隐藏column可以调用setColumnCollapsedintcolumnIndexbooleanisCollapsed来指定相应的column。另外TableLayout类的booleanisColumnCollapsedintcolumnIndex能够判断指定的column是否隐藏。关于分割线我们可以通过在两个TableRow之间添加一个并设置
5、它的layout_height1dip和background来解决。但这样就多产生了一个View有点浪费。其实还可以设置TableRow的bottomMargin1来产生一条分割线。为何不能动态生成TableLayout是否有时候会碰到这样的情景另一个问题关于TableLayout和HorizontalScrollView一起使用时的宽度问题nbspnbspnbspnbsp我有一个TableLayout它的内容是动态生成的。我遇到了下面的问题nbspnbspnbspnbsp当动态生成的一行的内容太长时靠右边的
6、内容会被遮住了。于是我想要这个TableLayout在横向上可以滚动。nbspnbspnbspnbsp解决的办法是用HorizontalScrollView包装TableLayout这样当内容很长时就会出现横向滚动条。nbspnbspnbsp像这样nbspnbspnbspnbsp但此时又出现了另一个问题加上HorizontalScrollView后虽然我已经设了TableLayout的宽度是fill_parent。但当内容较少时TableLayout还是根据内容自适应宽度不能满屏。nbspnbspnbsp此时
7、需要设置一个属性就能解决问题了。设置HorizontalScrollView的android:fillViewporttrue。也就是设置是否将HorizontalScrollView的内容宽度拉伸以适应视口viewport
此文档下载收益归作者所有