何时使用FragmentStatePagerAdapter获取片段中的视图大小

时间:2012-07-25 17:53:27

标签: android android-fragments

我希望使用Android支持库中的FragmentStatePageAdapter实现一个库。我知道创建适配器时的图片数量。

我的片段基本上由一个简单的imageView和一些TextView组成。 要检索图像,我希望知道imageView的大小(在布局中使用MATCH_PARENT),这样我就可以从服务器请求适当大小的图像。

我的问题是,在哪里请求imageView的大小? 在onCreateView方法中,高度和宽度的getter返回null,我不知道将什么作为参数传递给measure(int,int)来正确计算大小。 (父级的度量(0,0)的结果返回的子项的测量高度/宽度太小。)

在我的片段的onStart方法中,为创建的前2个片段正确设置高度和宽度,但其余片段返回0。

哪个地方可以获得框架调用保证的片段的高度/宽度?​​

TIA,Patrick

代码段:

public void onStart() {
    super.onStart();

    // Must measure view first
    ImageView imgView = (ImageView) getView().findViewById(R.id.picturefragment_image);

    int height = imgView.getMeasuredHeight(); // FIXME Returns 0 sometimes
    int width = imgView.getMeasuredWidth(); // FIXME Returns 0 sometimes

    if (m_picture.getMaxHeight() != 0) {
        height = Math.min(height, m_picture.getMaxHeight());
    }

    if (m_picture.getMaxWidth() != 0) {
        width = Math.min(width, m_picture.getMaxWidth());
    }
... Retrieval of image here ...
}

0 个答案:

没有答案