当前位置: 首页>>代码示例>>Java>>正文


Java OverScroller类代码示例

本文整理汇总了Java中android.widget.OverScroller的典型用法代码示例。如果您正苦于以下问题:Java OverScroller类的具体用法?Java OverScroller怎么用?Java OverScroller使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


OverScroller类属于android.widget包,在下文中一共展示了OverScroller类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: reflectAbsListView

import android.widget.OverScroller; //导入依赖的package包/类
private void reflectAbsListView() {
    try {
        Class<?> absListViewCls = Class.forName("android.widget.AbsListView");
        Field mFlingRunnableField = absListViewCls.getDeclaredField("mFlingRunnable");
        mFlingRunnableField.setAccessible(true);
        Object mFlingRunnable = mFlingRunnableField.get(mListView);


        Class<?> flingRunnableCls = Class.forName("android.widget.AbsListView$FlingRunnable");
        Field mScrollerFeild = flingRunnableCls.getDeclaredField("mScroller");
        mScrollerFeild.setAccessible(true);
        mScrollerReflectd = (OverScroller) mScrollerFeild.get(mFlingRunnable);
    } catch (Exception e) {
        mScrollerReflectd = null;
        Log.d(TAG, "###Exception Stack###", new Throwable(e));
    }
}
 
开发者ID:lorienzhang,项目名称:WLLayout,代码行数:18,代码来源:WLLayout.java

示例2: ResolverDrawerLayout

import android.widget.OverScroller; //导入依赖的package包/类
public ResolverDrawerLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ResolverDrawerLayout,
            defStyleAttr, 0);
    mMaxWidth = a.getDimensionPixelSize(R.styleable.ResolverDrawerLayout_android_maxWidth, -1);
    mMaxCollapsedHeight = a.getDimensionPixelSize(
            R.styleable.ResolverDrawerLayout_maxCollapsedHeight, 0);
    mMaxCollapsedHeightSmall = a.getDimensionPixelSize(
            R.styleable.ResolverDrawerLayout_maxCollapsedHeightSmall,
            mMaxCollapsedHeight);
    a.recycle();

    mScrollIndicatorDrawable = context.getDrawable(R.drawable.scroll_indicator_material);

    mScroller = new OverScroller(context, AnimationUtils.loadInterpolator(context,
            android.R.interpolator.decelerate_quint));
    mVelocityTracker = VelocityTracker.obtain();

    final ViewConfiguration vc = ViewConfiguration.get(context);
    mTouchSlop = vc.getScaledTouchSlop();
    mMinFlingVelocity = vc.getScaledMinimumFlingVelocity();

    setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
}
 
开发者ID:RikkaW,项目名称:Bridge,代码行数:26,代码来源:ResolverDrawerLayout.java

示例3: computeScroll

import android.widget.OverScroller; //导入依赖的package包/类
@Override
public void computeScroll() {
    boolean scrollerWorkNow = SCROLL_STATE_SETTLING == mScrollState;
    OverScroller scroller = scrollerWorkNow ? getScroller() : null;
    if (scroller != null && scroller.computeScrollOffset()) {
        int oldX = getScrollX();
        int oldY = getScrollY();
        int x = scroller.getCurrX();
        int y = scroller.getCurrY();
        if (oldX != x || oldY != y) {
            scrollTo(x, y);
        }
        ViewCompat.postInvalidateOnAnimation(this);
    } else {
        if (scrollerWorkNow) {
            markAsWillIdle();
        }
    }
}
 
开发者ID:rexyren,项目名称:PageScrollView,代码行数:20,代码来源:PageScrollView.java

示例4: SpringView

import android.widget.OverScroller; //导入依赖的package包/类
public SpringView(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.context = context;
    inflater = LayoutInflater.from(context);

    mScroller = new OverScroller(context);

    //获取自定义属性
    TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SpringView);
    if (ta.hasValue(R.styleable.SpringView_type)){
        int type_int = ta.getInt(R.styleable.SpringView_type, 0);
        type = Type.values()[type_int];
    }
    if (ta.hasValue(R.styleable.SpringView_give)){
        int give_int = ta.getInt(R.styleable.SpringView_give, 0);
        give = Give.values()[give_int];
    }
    if (ta.hasValue(R.styleable.SpringView_header)){
        headerResoureId = ta.getResourceId(R.styleable.SpringView_header, 0);
    }
    if (ta.hasValue(R.styleable.SpringView_footer)){
        footerResoureId = ta.getResourceId(R.styleable.SpringView_footer, 0);
    }
    ta.recycle();
}
 
开发者ID:zuoweitan,项目名称:Hitalk,代码行数:26,代码来源:SpringView.java

示例5: init

import android.widget.OverScroller; //导入依赖的package包/类
private void init() {
        configuration = ViewConfiguration.get(getContext());
        mScroller = new Scroller(getContext(), new OvershootInterpolator(0.75f));
        flingRunnable = new FlingRunnable();
        overScrollRunnable = new OverScrollRunnable();
        flingScroller = new OverScroller(getContext());
        detector = new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                if (isOverScrollTop || isOverScrollBottom || isOverScrollLeft || isOverScrollRight) {
                    return false;
                }
//
                flingRunnable.start(velocityX, velocityY);
                return false;
            }
        });
    }
 
开发者ID:zuoweitan,项目名称:Hitalk,代码行数:19,代码来源:OverScrollLayout.java

示例6: getLastVelocity

import android.widget.OverScroller; //导入依赖的package包/类
/**
 * 滚动结束后时的速率
 */
public float getLastVelocity() {
    Object mViewFlinger = Reflect.getMember(RecyclerView.class, this, "mViewFlinger");
    Object mScroller = Reflect.getMember(mViewFlinger, "mScroller");
    float currVelocity = 0f;
    if (mScroller instanceof OverScroller) {
        currVelocity = ((OverScroller) mScroller).getCurrVelocity();
    } else if (mScroller instanceof ScrollerCompat) {
        currVelocity = ((ScrollerCompat) mScroller).getCurrVelocity();
    } else {
        throw new IllegalArgumentException("未兼容的mScroller类型:" + mScroller.getClass().getSimpleName());
    }

    if (Float.isNaN(currVelocity)) {
        currVelocity = mLastVelocity;
    } else {
        mLastVelocity = currVelocity;
    }
    return currVelocity;
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:23,代码来源:RRecyclerView.java

示例7: SwipeMenuLayout

import android.widget.OverScroller; //导入依赖的package包/类
public SwipeMenuLayout(Context context, AttributeSet attrs,
                       int defStyle) {
    super(context, attrs, defStyle);

    TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.SwipeMenuLayout);
    mLeftViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_leftViewId, mLeftViewId);
    mContentViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_contentViewId, mContentViewId);
    mRightViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_rightViewId, mRightViewId);
    typedArray.recycle();

    ViewConfiguration configuration = ViewConfiguration.get(getContext());
    mScaledTouchSlop = configuration.getScaledTouchSlop();
    mScaledMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
    mScaledMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity();

    mScroller = new OverScroller(getContext());
}
 
开发者ID:leobert-lan,项目名称:UiLib,代码行数:18,代码来源:SwipeMenuLayout.java

示例8: initLayout

import android.widget.OverScroller; //导入依赖的package包/类
private void initLayout() {
    mOverScroller = new OverScroller(getContext());
    mGestureDetectorCompat = new GestureDetectorCompat(getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, final float velocityY) {
                    if (Math.abs(velocityX) > Math.abs(velocityY)) {
                        return false;
                    }

                    if (isFloat() /*&& velocityY < 0*/) {
                        return false;
                    }
                    fling(velocityY);
                    return true;
                }
            });
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:20,代码来源:StickLayout2.java

示例9: init

import android.widget.OverScroller; //导入依赖的package包/类
private void init(Context context) {
    setOrientation(VERTICAL);

    mOverScroller = new OverScroller(context);
    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = configuration.getScaledTouchSlop();
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
    mMinimumVelocity = configuration.getScaledMinimumFlingVelocity();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:BGAStickyNavLayout.java

示例10: PullToRefreshView

import android.widget.OverScroller; //导入依赖的package包/类
public PullToRefreshView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mInflater = LayoutInflater.from(context);
    mScroller = new OverScroller(context);

    //获取自定义属性
    TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.PullToRefresh);
    if (ta.hasValue(R.styleable.PullToRefresh_header_indicator)) {
        mHeaderIndicatorClassName = ta.getString(R.styleable.PullToRefresh_header_indicator);
    }
    if (ta.hasValue(R.styleable.PullToRefresh_footer_indicator)) {
        mFooterIndicatorClassName = ta.getString(R.styleable.PullToRefresh_footer_indicator);
    }
    ta.recycle();
}
 
开发者ID:guzhigang001,项目名称:Bailan,代码行数:16,代码来源:PullToRefreshView.java

示例11: CompatScroller

import android.widget.OverScroller; //导入依赖的package包/类
public CompatScroller(Context context) {
    if (VERSION.SDK_INT < VERSION_CODES.GINGERBREAD) {
        isPreGingerbread = true;
        scroller = new Scroller(context);

    } else {
        isPreGingerbread = false;
        overScroller = new OverScroller(context);
    }
}
 
开发者ID:sherlockchou86,项目名称:yphoto,代码行数:11,代码来源:TouchImageView.java

示例12: SwipeMenuLayout

import android.widget.OverScroller; //导入依赖的package包/类
public SwipeMenuLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.SwipeMenuLayout);
        mLeftViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_leftViewId, mLeftViewId);
        mContentViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_contentViewId, mContentViewId);
        mRightViewId = typedArray.getResourceId(R.styleable.SwipeMenuLayout_rightViewId, mRightViewId);
        typedArray.recycle();

        ViewConfiguration mViewConfig = ViewConfiguration.get(getContext());
        mScaledTouchSlop = mViewConfig.getScaledTouchSlop();
        mScroller = new OverScroller(getContext());
        mScaledMinimumFlingVelocity = mViewConfig.getScaledMinimumFlingVelocity();
        mScaledMaximumFlingVelocity = mViewConfig.getScaledMaximumFlingVelocity();
}
 
开发者ID:HelloChenJinJun,项目名称:TestChat,代码行数:16,代码来源:SwipeMenuLayout.java

示例13: CompatScroller

import android.widget.OverScroller; //导入依赖的package包/类
public CompatScroller(Context context) {
  if (VERSION.SDK_INT < VERSION_CODES.GINGERBREAD) {
    isPreGingerbread = true;
    scroller = new Scroller(context);
  } else {
    isPreGingerbread = false;
    overScroller = new OverScroller(context);
  }
}
 
开发者ID:zuoweitan,项目名称:Hitalk,代码行数:10,代码来源:TouchImageView.java

示例14: CompatScroller

import android.widget.OverScroller; //导入依赖的package包/类
public CompatScroller(Context context) {
	if (VERSION.SDK_INT < VERSION_CODES.GINGERBREAD) {
		isPreGingerbread = true;
		scroller = new Scroller(context);
		
	} else {
		isPreGingerbread = false;
		overScroller = new OverScroller(context);
	}
}
 
开发者ID:MobileDev418,项目名称:AndroidBackendlessChat,代码行数:11,代码来源:TouchImageView.java

示例15: XRefreshLayout

import android.widget.OverScroller; //导入依赖的package包/类
public XRefreshLayout(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);

    MIN_LOADING_LAYOUG_HEIGHT = DensityUtil.dip2px(context, MIN_LOADING_LAYOUG_HEIGHT);
    OVERSCROLL_RANGE = DensityUtil.dip2px(context, OVERSCROLL_RANGE);

    scroller = new OverScroller(getContext());
    loadingLayout = new DefaultLoadingLayout();
}
 
开发者ID:BeautifulMy,项目名称:xRecycleView,代码行数:10,代码来源:XRefreshLayout.java


注:本文中的android.widget.OverScroller类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。