XML布局替代(我的获取Lint警告)

时间:2012-11-19 19:35:51

标签: android android-layout

我有一个ListView,其中每一行都是GridLayout,有两行。我希望每个列表项至少高48dp(建议的最小压力目标大小),因为每个列表项都可以按下,如果它不展开,我希望GridLayout在行中垂直居中。< / p>

为此,我将GridLayout放在FrameLayout内,将FrameLayout设置为最小高度48dp,并设置layout_gravity { {1}}居中。如果我不使用GridLayout并且只设置FrameLayout的最小高度,那么由于GridLayout的虚假空间分布,我无法将整个事物完全垂直居中

因此,使用GridLayout可以获得所需的结果,但在我的XML文件中生成Lint警告,“此GridLayout布局或其FrameLayout父级是无用的。”显然它没有用,因为它排列正确,但有没有更好的方法去做我错过的?

这是我的XML(我在GridLayout中删除了一堆TextView,因为它们与这种情况无关):

FrameLayout

1 个答案:

答案 0 :(得分:0)

除非你看到性能问题,否则我会保持这种状态。如果你看到一个性能问题,而且它是因为附加的FrameLayout(如果你直接使用GridLayout就可以告诉你,如果问题消失了),那么(只有这样)我会尝试直接修复GridLayout。

如果是这种情况,那么我所知道的是GridLayout根据灵活性的原则分配了多余的空间。如果这个原则不足以消除歧义,那么你会看到它为最右边的列和底行提供多余空间的行为。我尝试使用row / col属性来确保它了解如何均匀分布。您可以通过设置GridLayout的子项的 gravity 来控制它,在您的情况下是TextViews。尝试将它们设置为“居中”,看看是否有帮助。如果没有,请访问:

http://developer.android.com/reference/android/widget/GridLayout.html