RecyclerView:获取片段宽度/高度

时间:2015-03-12 12:43:39

标签: android android-fragments

我正在实施RecyclerView,我需要片段的宽度,因为它直接影响RecyclerView中的项目。在哪里以及如何做到这一点的最佳选择?我也在寻找满足方向变化(纵向/横向)的解决方案,并且能够根据这些变化重新绘制。

有两种方法可以获得我所知道的宽度:

  • getView()。getViewTreeObserver()。addOnGlobalLayoutListener ...
  • MyOnResizeListener orlResized = new MyOnResizeListener(){...};

我在onViewCreated()中创建我的适配器,并且在创建适配器项视图后触发上述两个方法,这是没有用的。

有没有好的练习方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您有两种选择:

  • GlobalLayoutListener内创建适配器;或
  • 使用有关项目的预先确定的信息来计算大小。 例如:片段位于主活动内部的容器中,该容器延伸到整个宽度并且边上有12dp边距。然后在onCreateView期间,您可check the device screen widthget the value of 12dp并计算frgWidth = screenWidth - (2 * dp12);