private void init(Context context, AttributeSet attrs) {
mScroller = new Scroller(context);
......
if(mPrimaryViewID == -1)
throw new RuntimeException(
"Illegal attribute 'primaryView', make sure you have set it");
mPrimaryView = LayoutInflater.from(getContext()).inflate(
mPrimaryViewID, null);
mPrimaryView.setClickable(false);
addView(mPrimaryView, 0);
if(mSlidingViewID != -1) {
mSlidingView = LayoutInflater.from(getContext()).inflate(
mSlidingViewID, null);
mSlidingView.setClickable(false);
addView(mSlidingView, 1);
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
if(heightSize != heightMeasureSpec) {
mPrimaryView.measure(MeasureSpec.makeMeasureSpec(widthSize, widthMode),
MeasureSpec.makeMeasureSpec(heightSize, heightMode));
if(mSlidingView != null) {
mSlidingView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(heightSize, heightMode));
}
} else {
mPrimaryView.measure(widthMeasureSpec, heightMeasureSpec);
if(mSlidingView != null)
mSlidingView.measure(widthMeasureSpec, heightMeasureSpec);
}
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
mPrimaryView.layout(l, t, r, b);
if(mSlidingView != null)
mSlidingView.layout(r, t, r + mSlidingView.getMeasuredWidth(), b);
}
@Override
public void computeScroll() {
if(mScroller.computeScrollOffset()) {
scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
}
}
/**
* just like scrollTo(), but with animation :D
* */
public void scrollToWithAnimation(int scrollX, int scrollY) {
mScroller.abortAnimation();
mScroller.startScroll(getScrollX(), getScrollY(),
scrollX - getScrollX(), getScrollY() - scrollY, 300);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有