Childs覆盖父安卓布局权重大小



我想成功完成以下布局

*<LinearLayout> 
  *<ListView with standard height = 50% of screen>
  *<TableLayout with standard height = 20% of screen>
  *<Fragment with standard height = 30% of screen> 
*</LinearLayout> 

这里的问题是Listview有时会有0个无限项。当列表中没有项目时,Tablelayout和fragment会显示在屏幕上。

如何告诉Listview不要基于listitem视图计算大小?

我已经尝试过以下操作,让Android studio预览显示正确的ui,但当在设备上运行时,FrameLayout的高度为0,因为列表为空。

*<LinearLayout>
*  <FrameLayout and LinearLayout with weight>
*    <ListView>
*  </FrameLayout and /LinearLayout> 
*  <TableLayout with standard with weight>
*<Fragment with standard with weight> 

如果有任何帮助,我将不胜感激。

我能想到的唯一解决方案就是

*<LinearLayout>
  *<ListView with standard height = 50% of screen>
  *<View with standard height = 50% of screen visibily=gone>
  *<TableLayout with standard height = 20% of screen>
  *<Fragment with standard height = 30% of screen> 
*</LinearLayout> 

然后,当您发现ListView有0个项目时,请更改视图的可见性。

最新更新