您的位置:首页 > 移动开发 > Android开发

Android自定义viewpager且高度自适应

2016-10-29 14:53 1686 查看
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

/**
* 滑动页面工具类
*
* Created by XiaobingLiu on 2016/10/21.
*/
public class ViewPagerUtil extends ViewPager {

private boolean scrollble = true;   //是否可滑动

public ViewPagerUtil(Context context) {
super(context);
}

public ViewPagerUtil(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
if (!scrollble) {
return true;
}
return super.onTouchEvent(ev);
}

public boolean isScrollble() {
return scrollble;
}

/**
* 外部接口控制页面的滑动
* @param scrollble
*/
public void setScrollble(boolean scrollble) {
this.scrollble = scrollble;
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int childSize = getChildCount();
int maxHeight = 0;
for (int i = 0; i < childSize; i++)
{
View child = getChildAt(i);
child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
if (child.getMeasuredHeight() > maxHeight)
{
maxHeight = child.getMeasuredHeight();
}
}

if (maxHeight > 0)
{
setMeasuredDimension(getMeasuredWidth(), maxHeight);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: