在开发过程中,有时候页面布局比较复杂,会使用到ScrollView和ViewPager,如果不进行处理,会出现不显示ViewPager的子页面,或者子页面高度一样,内容显示不全,或者是留白太多。我的需求是需要在页面下面加一个可以左右滑动的分栏,而且两个分类的页面高度不一致且不确定。一开始没有考虑,直接就使用了ViewPager,但是子页面什么都没有显示,查了很多资料,说的都是这个问题。解决的方法也很简单,我们只需要去计算一下每个子页面的高度,然后保存起来,在每次切换页面的时候,去设置子页面的高度就可以了,这里自定义了一个ViewPager,也是参考网上大神的,出处忘记了,但是很好用啊。代码如下:
public class CustomViewPager extends ViewPager{
private HashMap<Integer, View> mMap = new LinkedHashMap<>();
private int current;
private int height = 0;
private boolean scrollable = true;
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpe