我有一个有孩子的自定义ViewGroup ViewPager.该ViewPager由供给PagerAdapter,其提供LinearLayout到ViewPager其具有LayoutParams的WRAP_CONTENT在两个高度和宽度.
视图显示正确,但在child.measure()ViewPager上调用方法时,它不返回LinearLayout的实际尺寸,但似乎填充了所有剩余空间.
任何想法为什么会发生这种情况以及如何修改它?
我使用这些资源进行试验和错误.现在我的自定义ViewPager成功测量了它的内容,但只显示了第一个.仅供参考,我ViewPager持有一些复杂的观点,比如ExpendableListView- 这就是为什么这些资源中的代码都没有完美运行,我需要自己修改代码.
我有4个片段(内容),所以我使用 pager.setOffscreenPageLimit(3);
这是我的习惯ViewPager:
public class CustomViewPager extends ViewPager{
public CustomViewPager (Context context) {
super(context);
}
public CustomViewPager (Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
boolean wrapHeight = MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST;
final View tab = getChildAt(0);
int width = getMeasuredWidth();
int tabHeight = tab.getMeasuredHeight();
if (wrapHeight) {
// Keep the current …Run Code Online (Sandbox Code Playgroud)