【问题标题】:Android Gridview - Items align in direction of scrollAndroid Gridview - 项目在滚动方向上对齐
【发布时间】:2013-12-04 21:08:32
【问题描述】:

这与GridView - sometimes rows are top-aligned, sometimes they're bottom-aligned! 基本上是同一个问题,但似乎没有提供足够的答案,或者至少没有一个适合我的问题的答案。

我有一个包含项目的网格视图。在该项目中,顶部有一个图像,后跟 3 个文本视图。有时,根据值的不同,一个或两个文本视图会占用多行。

向下滚动时很好,顶部的图像与所有其他行对齐。但是当你向相反的方向滚动时,最底部的 textview 是对齐的,图像的顶部就出来了。

我会试着在下面画一个例子。

向下滚动

------    ------    ------

Image     Image     Image

------    ------    ------
TView1    TView1    TView1
------    ------    ------
TView2    TView2    TView2
------    TView2    ------
TView3    ------    TView3
------    TView3    ------
          ------

向上滚动

          ------
------              ------
          Image 
Image               Image
          ------
------    TView1    ------
TView1    ------    TView1
------    TView2    ------
TView2    TView2    TView2
------    ------    ------
TView3    TView3    TView3
------    ------    ------

我读到我应该使用 layout_gravity="top" 但这不起作用。我认为这可能是因为 layout_gravity 不应该在 relativelayout 中工作,这是我的项目正在使用的,但是当将其更改为 linearlayout 时,它仍然不起作用。

谢谢

【问题讨论】:

    标签: android gridview alignment layout-gravity


    【解决方案1】:

    GridView 中每个单元格的高度必须保持不变,否则您将遇到此类问题。

    【讨论】:

    • 我必须给它一个固定的高度?!呃,这听起来不太对/好。我是否必须根据设备的尺寸计算该高度?
    • 我猜你在TextView的某些地方有更多数据。您只需要在单元格 xml 布局中使用 android:minLinesandroid:maxLines 属性。这将确保您的 TextView 大小保持不变。
    • 或者更好的方法是使用android:lines属性。
    • 这就是我引用的问题的答案。真的是这样吗?自定义视图的大小必须完全相同?您不能将所有项目都对齐到顶部或底部吗?如果这是唯一的方法,我很感激你的帮助,但这对我来说听起来很基础
    • 另外,如果我这样做,那么最终不会有 2 或 3 行但可能有的 Textview 与下一个 textview 之间会有很大的差距。我不希望这样,我希望每个 gridview 项目之间出现唯一的间隙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2017-09-10
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多