我有一个简单的线性布局,我在适配器中充气:
@OverrIDe public VIEw getVIEw(final int position, VIEw convertVIEw, final VIEwGroup parent) { if (convertVIEw == null) { convertVIEw = inflater.inflate(R.layout.category_ListvIEw_row, parent, false); } else { ((linearLayout)convertVIEw).removeAllVIEws(); } if (LAYOUT_TYPES.GRID.equals(layoutType)) { convertVIEw = categoryFragment.getVIEwForGrIDLayout(context, displayArray, position, convertVIEw, Listener); } else { convertVIEw = categoryFragment.getVIEwForListLayout(context, displayArray, position, convertVIEw, Listener); } return convertVIEw; }
这里,category_ListvIEw_row如下:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="horizontal" androID:gravity="top" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" />
getVIEwForGrIDLayout方法以编程方式创建一个或多个视图,并将它们添加到convertVIEw.
我希望所有的子视图在高度上匹配这个父视图,但是我不能让它工作.这是以编程方式添加的子视图的外部线性布局:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:ID="@+ID/base_ListvIEw_style_one_layout" androID:orIEntation="horizontal" androID:padding="@dimen/node_default_spacing" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" tools:background="#5ab9c6">
此布局具有根据要显示的实际数据删除的子视图,因此有些会比其他更长.但是我希望它们都是父母的高度所以它看起来并不奇怪.
这是我所看到的截图:
>第一行是好的,因为两个项目都有标题和子文本
>在第二行,第二个项目没有子文本,因此视图较小.但是,我希望它占据行的整个高度,以便单行中的所有项目具有相同的高度.
有小费吗?谢谢!
解决方法:
我建议使用带有GrIDLayoutManager的RecyclervIEw.
如果希望某些项跨越多列,可以通过在GrIDLayoutManager上设置SpanSizeLookup来实现.
这是一个简单的例子https://stackoverflow.com/a/26907508/4498224.
总结以上是内存溢出为你收集整理的在Android中获取match_parent的子视图全部内容,希望文章能够帮你解决在Android中获取match_parent的子视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)