Search in sources :

Example 91 with ViewConfiguration

use of android.view.ViewConfiguration in project smartmodule by carozhu.

the class LazyViewpager method initViewPager.

void initViewPager() {
    setWillNotDraw(false);
    setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
    setFocusable(true);
    final Context context = getContext();
    mScroller = new Scroller(context, sInterpolator);
    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
    mMinimumVelocity = configuration.getScaledMinimumFlingVelocity();
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
    mLeftEdge = new EdgeEffectCompat(context);
    mRightEdge = new EdgeEffectCompat(context);
    float density = context.getResources().getDisplayMetrics().density;
    mBaseLineFlingVelocity = 2500.0f * density;
    mFlingVelocityInfluence = 0.4f;
}
Also used : Context(android.content.Context) ViewConfiguration(android.view.ViewConfiguration) EdgeEffectCompat(android.support.v4.widget.EdgeEffectCompat) Scroller(android.widget.Scroller)

Example 92 with ViewConfiguration

use of android.view.ViewConfiguration in project smartmodule by carozhu.

the class SmartViewPager method initViewPager.

void initViewPager() {
    setWillNotDraw(false);
    setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
    setFocusable(true);
    final Context context = getContext();
    mScroller = new Scroller(context, sInterpolator);
    final ViewConfiguration configuration = ViewConfiguration.get(context);
    final float density = context.getResources().getDisplayMetrics().density;
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
    mMinimumVelocity = (int) (MIN_FLING_VELOCITY * density);
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
    mLeftEdge = new EdgeEffectCompat(context);
    mRightEdge = new EdgeEffectCompat(context);
    mFlingDistance = (int) (MIN_DISTANCE_FOR_FLING * density);
    mCloseEnough = (int) (CLOSE_ENOUGH * density);
    mDefaultGutterSize = (int) (DEFAULT_GUTTER_SIZE * density);
    ViewCompat.setAccessibilityDelegate(this, new MyAccessibilityDelegate());
    if (ViewCompat.getImportantForAccessibility(this) == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
        ViewCompat.setImportantForAccessibility(this, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
    }
}
Also used : Context(android.content.Context) ViewConfiguration(android.view.ViewConfiguration) EdgeEffectCompat(android.support.v4.widget.EdgeEffectCompat) Scroller(android.widget.Scroller)

Example 93 with ViewConfiguration

use of android.view.ViewConfiguration in project android_frameworks_base by crdroidandroid.

the class CropView method onTouchEvent.

@Override
public boolean onTouchEvent(MotionEvent event) {
    int action = event.getActionMasked();
    final boolean pointerUp = action == MotionEvent.ACTION_POINTER_UP;
    final int skipIndex = pointerUp ? event.getActionIndex() : -1;
    // Determine focal point
    float sumX = 0, sumY = 0;
    final int count = event.getPointerCount();
    for (int i = 0; i < count; i++) {
        if (skipIndex == i)
            continue;
        sumX += event.getX(i);
        sumY += event.getY(i);
    }
    final int div = pointerUp ? count - 1 : count;
    float x = sumX / div;
    float y = sumY / div;
    if (action == MotionEvent.ACTION_DOWN) {
        mFirstX = x;
        mFirstY = y;
        mTouchDownTime = System.currentTimeMillis();
        if (mTouchCallback != null) {
            mTouchCallback.onTouchDown();
        }
    } else if (action == MotionEvent.ACTION_UP) {
        ViewConfiguration config = ViewConfiguration.get(getContext());
        float squaredDist = (mFirstX - x) * (mFirstX - x) + (mFirstY - y) * (mFirstY - y);
        float slop = config.getScaledTouchSlop() * config.getScaledTouchSlop();
        long now = System.currentTimeMillis();
        if (mTouchCallback != null) {
            // only do this if it's a small movement
            if (squaredDist < slop && now < mTouchDownTime + ViewConfiguration.getTapTimeout()) {
                mTouchCallback.onTap();
            }
            mTouchCallback.onTouchUp();
        }
    }
    if (!mTouchEnabled) {
        return true;
    }
    synchronized (mLock) {
        mScaleGestureDetector.onTouchEvent(event);
        switch(action) {
            case MotionEvent.ACTION_MOVE:
                float[] point = mTempPoint;
                point[0] = (mLastX - x) / mRenderer.scale;
                point[1] = (mLastY - y) / mRenderer.scale;
                mInverseRotateMatrix.mapPoints(point);
                mCenterX += point[0];
                mCenterY += point[1];
                updateCenter();
                invalidate();
                break;
        }
        if (mRenderer.source != null) {
            // Adjust position so that the wallpaper covers the entire area
            // of the screen
            final RectF edges = mTempEdges;
            getEdgesHelper(edges);
            final float scale = mRenderer.scale;
            float[] coef = mTempCoef;
            coef[0] = 1;
            coef[1] = 1;
            mRotateMatrix.mapPoints(coef);
            float[] adjustment = mTempAdjustment;
            mTempAdjustment[0] = 0;
            mTempAdjustment[1] = 0;
            if (edges.left > 0) {
                adjustment[0] = edges.left / scale;
            } else if (edges.right < getWidth()) {
                adjustment[0] = (edges.right - getWidth()) / scale;
            }
            if (edges.top > 0) {
                adjustment[1] = (float) Math.ceil(edges.top / scale);
            } else if (edges.bottom < getHeight()) {
                adjustment[1] = (edges.bottom - getHeight()) / scale;
            }
            for (int dim = 0; dim <= 1; dim++) {
                if (coef[dim] > 0)
                    adjustment[dim] = (float) Math.ceil(adjustment[dim]);
            }
            mInverseRotateMatrix.mapPoints(adjustment);
            mCenterX += adjustment[0];
            mCenterY += adjustment[1];
            updateCenter();
        }
    }
    mLastX = x;
    mLastY = y;
    return true;
}
Also used : RectF(android.graphics.RectF) ViewConfiguration(android.view.ViewConfiguration) Point(android.graphics.Point)

Example 94 with ViewConfiguration

use of android.view.ViewConfiguration in project android_frameworks_base by crdroidandroid.

the class NotificationStackScrollLayout method initView.

private void initView(Context context) {
    mScroller = new OverScroller(getContext());
    setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
    setClipChildren(false);
    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = configuration.getScaledTouchSlop();
    mMinimumVelocity = configuration.getScaledMinimumFlingVelocity();
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
    mOverflingDistance = configuration.getScaledOverflingDistance();
    mCollapsedSize = context.getResources().getDimensionPixelSize(R.dimen.notification_min_height);
    mBottomStackPeekSize = context.getResources().getDimensionPixelSize(R.dimen.bottom_stack_peek_amount);
    mStackScrollAlgorithm.initView(context);
    mPaddingBetweenElements = Math.max(1, context.getResources().getDimensionPixelSize(R.dimen.notification_divider_height));
    mIncreasedPaddingBetweenElements = context.getResources().getDimensionPixelSize(R.dimen.notification_divider_height_increased);
    mBottomStackSlowDownHeight = mStackScrollAlgorithm.getBottomStackSlowDownLength();
    mMinTopOverScrollToEscape = getResources().getDimensionPixelSize(R.dimen.min_top_overscroll_to_qs);
}
Also used : ViewConfiguration(android.view.ViewConfiguration) OverScroller(android.widget.OverScroller)

Example 95 with ViewConfiguration

use of android.view.ViewConfiguration in project android_frameworks_base by crdroidandroid.

the class PanelView method loadDimens.

protected void loadDimens() {
    final Resources res = getContext().getResources();
    final ViewConfiguration configuration = ViewConfiguration.get(getContext());
    mTouchSlop = configuration.getScaledTouchSlop();
    mHintDistance = res.getDimension(R.dimen.hint_move_distance);
    mUnlockFalsingThreshold = res.getDimensionPixelSize(R.dimen.unlock_falsing_threshold);
}
Also used : ViewConfiguration(android.view.ViewConfiguration) Resources(android.content.res.Resources)

Aggregations

ViewConfiguration (android.view.ViewConfiguration)186 Scroller (android.widget.Scroller)41 Context (android.content.Context)28 TypedArray (android.content.res.TypedArray)23 EdgeEffectCompat (android.support.v4.widget.EdgeEffectCompat)16 Point (android.graphics.Point)12 View (android.view.View)12 OverScroller (android.widget.OverScroller)10 Field (java.lang.reflect.Field)9 Resources (android.content.res.Resources)8 Paint (android.graphics.Paint)7 RectF (android.graphics.RectF)7 DisplayMetrics (android.util.DisplayMetrics)7 Drawable (android.graphics.drawable.Drawable)6 GestureDetector (android.view.GestureDetector)6 PointF (android.graphics.PointF)5 ImageView (android.widget.ImageView)5 FlingAnimationUtils (com.android.systemui.statusbar.FlingAnimationUtils)5 SlidingTabLayout (com.google.samples.apps.iosched.ui.widget.SlidingTabLayout)4 TimeInterpolator (android.animation.TimeInterpolator)3