我希望使用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 ...
}