Java Code Examples for android.support.v4.view.ViewCompat#setChildrenDrawingOrderEnabled()
The following examples show how to use
android.support.v4.view.ViewCompat#setChildrenDrawingOrderEnabled() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PullRefreshLayout.java From MaterialQQLite with Apache License 2.0 | 6 votes |
public PullRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PullRefreshLayout); final int type = a.getInteger(R.styleable.PullRefreshLayout_type, STYLE_MATERIAL); final int colorsId = a.getResourceId(R.styleable.PullRefreshLayout_colors, R.array.google_colors); a.recycle(); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); mSpinnerFinalOffset = mTotalDragDistance = dp2px(DRAG_MAX_DISTANCE); mRefreshView = new ImageView(context); mColorSchemeColors = context.getResources().getIntArray(colorsId); setRefreshStyle(type); // mRefreshDrawable.setColorSchemeColors(new int[]{Color.rgb(0xC9, 0x34, 0x37), Color.rgb(0x37, 0x5B, 0xF1), Color.rgb(0xF7, 0xD2, 0x3E), Color.rgb(0x34, 0xA3, 0x50)}); mRefreshView.setVisibility(View.GONE); addView(mRefreshView); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 2
Source File: PullToRefreshView.java From Phoenix with Apache License 2.0 | 6 votes |
public PullToRefreshView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RefreshView); final int type = a.getInteger(R.styleable.RefreshView_type, STYLE_SUN); a.recycle(); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mTotalDragDistance = Utils.convertDpToPixel(context, DRAG_MAX_DISTANCE); mRefreshView = new ImageView(context); setRefreshStyle(type); addView(mRefreshView); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 3
Source File: SwipeRefreshLayout.java From AndroidStudyDemo with GNU General Public License v2.0 | 6 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context * @param attrs */ public SwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 4
Source File: PullToRefreshView.java From TLint with Apache License 2.0 | 6 votes |
public PullToRefreshView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RefreshView); final int type = a.getInteger(R.styleable.RefreshView_type, STYLE_SUN); a.recycle(); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mTotalDragDistance = Utils.convertDpToPixel(context, DRAG_MAX_DISTANCE); mRefreshView = new ImageView(context); Logger.d("width:" + getWidth()); setRefreshStyle(type); addView(mRefreshView); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 5
Source File: SwipeRefresh.java From Android-Application-ZJB with Apache License 2.0 | 6 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context */ public SwipeRefresh(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 6
Source File: PullToRefreshView.java From Taurus with Apache License 2.0 | 6 votes |
public PullToRefreshView(Context context, AttributeSet attrs) { super(context, attrs); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); float density = context.getResources().getDisplayMetrics().density; mTotalDragDistance = Math.round((float) DRAG_MAX_DISTANCE * density); mRefreshImageView = new ImageView(context); mRefreshView = new RefreshView(getContext(), this); mRefreshImageView.setImageDrawable(mRefreshView); addView(mRefreshImageView); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 7
Source File: SuperSwipeRefreshLayout.java From SuperSwipeRefreshLayout with Apache License 2.0 | 5 votes |
@SuppressWarnings("deprecation") public SuperSwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); /** * getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件 */ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator( DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context .obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mHeaderViewWidth = (int) display.getWidth(); mFooterViewWidth = (int) display.getWidth(); mHeaderViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); mFooterViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); defaultProgressView = new CircleProgressView(getContext()); createHeaderViewContainer(); createFooterViewContainer(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; density = metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 8
Source File: SwipeRefreshLayout.java From BookReader with Apache License 2.0 | 5 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context * @param attrs */ public SwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; mTotalDragDistance = mSpinnerFinalOffset; requestDisallowInterceptTouchEvent(true); }
Example 9
Source File: ChandelierLayout.java From Chandelier with MIT License | 5 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. */ public ChandelierLayout(Context context, AttributeSet attrs) { super(context, attrs); this.attrs = attrs; final Resources res = getResources(); // Defaults final int defaultElevation = res.getDimensionPixelSize(R.dimen.default_elevation); touchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); setWillNotDraw(false); decelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { setElevation( a.getDimensionPixelSize(R.styleable.ChandelierLayout_chandelier_elevation, defaultElevation)); } animateToStartDuration = a.getInteger(R.styleable.ChandelierLayout_chandelier_animate_to_start_duration, ANIMATE_TO_START_DURATION); a.recycle(); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 10
Source File: PullToRefreshView.java From PullToRefresh with MIT License | 5 votes |
public PullToRefreshView(Context context, AttributeSet attrs) { super(context, attrs); mInterpolator = new DecelerateInterpolator(DEFAULT_DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mRefreshView = new ImageView(context); mDragRate = DEFAULT_DRAG_RATE; setDefaultRefreshStype(context); addView(mRefreshView); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 11
Source File: ProgressLayout.java From TwinklingRefreshLayout with Apache License 2.0 | 5 votes |
public ProgressLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset }
Example 12
Source File: SwipeToRefreshLayout.java From SwipeToRefresh with MIT License | 5 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context * @param attrs */ public SwipeToRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final TypedArray a2 = context.obtainStyledAttributes(attrs, R.styleable.SwipeToRefreshLayout); RefreshDirection direction = RefreshDirection.getFromInt(a2.getInt(R.styleable.SwipeToRefreshLayout_srl_direction, 0)); int drawableRes = a2.getResourceId(R.styleable.SwipeToRefreshLayout_srl_icon, 0); int animation = a2.getInt(R.styleable.SwipeToRefreshLayout_srl_animation, 0); if (direction != RefreshDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = RefreshDirection.TOP; mBothDirection = true; } a2.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(drawableRes, animation); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; }
Example 13
Source File: SuperSwipeRefreshLayout.java From NIM_Android_UIKit with MIT License | 5 votes |
@SuppressWarnings("deprecation") public SuperSwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); /** * getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件 */ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator( DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context .obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mHeaderViewWidth = (int) display.getWidth(); mFooterViewWidth = (int) display.getWidth(); mHeaderViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); mFooterViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); defaultProgressView = new CircleProgressView(getContext()); createHeaderViewContainer(); createFooterViewContainer(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; density = metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 14
Source File: ISwipeRefreshLayout.java From AndroidUiKit with Apache License 2.0 | 5 votes |
/** * Constructor that is called when inflating ISwipeRefreshLayout from XML. * * @param context * @param attrs */ public ISwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mRefreshViewHeight = (int) (DEFAULT_HEADER_HEIGHT * metrics.density); HEADER_VIEW_MIN_HEIGHT = mRefreshViewHeight; ViewCompat.setChildrenDrawingOrderEnabled(this, true); mTotalDragDistance = (int) (DEFAULT_HEADER_TARGET * metrics.density); mNestedScrollingParentHelper = new NestedScrollingParentHelper(this); mNestedScrollingChildHelper = new NestedScrollingChildHelper(this); setNestedScrollingEnabled(true); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); //add default refreshview setRefreshHeaderView(new ClassicIRefreshHeaderView(getContext())); }
Example 15
Source File: PullRefreshLayout.java From android-PullRefreshLayout with MIT License | 5 votes |
public PullRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.refresh_PullRefreshLayout); final int type = a.getInteger(R.styleable.refresh_PullRefreshLayout_refreshType, STYLE_MATERIAL); final int colorsId = a.getResourceId(R.styleable.refresh_PullRefreshLayout_refreshColors, 0); final int colorId = a.getResourceId(R.styleable.refresh_PullRefreshLayout_refreshColor, 0); a.recycle(); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); int defaultDuration = getResources().getInteger(android.R.integer.config_mediumAnimTime); mDurationToStartPosition = defaultDuration; mDurationToCorrectPosition = defaultDuration; mSpinnerFinalOffset = mTotalDragDistance = dp2px(DRAG_MAX_DISTANCE); if (colorsId > 0) { mColorSchemeColors = context.getResources().getIntArray(colorsId); } else { mColorSchemeColors = new int[]{Color.rgb(0xC9, 0x34, 0x37), Color.rgb(0x37, 0x5B, 0xF1), Color.rgb(0xF7, 0xD2, 0x3E), Color.rgb(0x34, 0xA3, 0x50)}; } if (colorId > 0) { mColorSchemeColors = new int[]{context.getResources().getColor(colorId)}; } mRefreshView = new ImageView(context); setRefreshStyle(type); mRefreshView.setVisibility(View.GONE); addView(mRefreshView, 0); setWillNotDraw(false); ViewCompat.setChildrenDrawingOrderEnabled(this, true); }
Example 16
Source File: ProgressLayout.java From AgentWebX5 with Apache License 2.0 | 5 votes |
public ProgressLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset }
Example 17
Source File: SuperSwipeRefreshLayout.java From Ticket-Analysis with MIT License | 5 votes |
@SuppressWarnings("deprecation") public SuperSwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); /** * getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件 */ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator( DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context .obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mHeaderViewWidth = (int) display.getWidth(); mFooterViewWidth = (int) display.getWidth(); mHeaderViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); mFooterViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); defaultProgressView = new CircleProgressView(getContext()); createHeaderViewContainer(); createFooterViewContainer(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; density = metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 18
Source File: SwipeRefreshLayout.java From Overchan-Android with GNU General Public License v3.0 | 5 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context * @param attrs */ public SwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); mFastScrollWidth = (int) (FAST_SCROLL_WIDTH_DP * metrics.density); //добавлено createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }
Example 19
Source File: SwipeRefreshLayout.java From fangzhuishushenqi with Apache License 2.0 | 5 votes |
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context * @param attrs */ public SwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR); final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); final DisplayMetrics metrics = getResources().getDisplayMetrics(); mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density); mCircleHeight = (int) (CIRCLE_DIAMETER * metrics.density); createProgressView(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); // the absolute offset has to take into account that the circle starts at an offset mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; mTotalDragDistance = mSpinnerFinalOffset; requestDisallowInterceptTouchEvent(true); }
Example 20
Source File: SuperSwipeRefreshLayout.java From VideoOS-Android-SDK with GNU General Public License v3.0 | 5 votes |
@SuppressWarnings("deprecation") public SuperSwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); /** * getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件 */ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); mMediumAnimationDuration = getResources().getInteger( android.R.integer.config_mediumAnimTime); setWillNotDraw(false); mDecelerateInterpolator = new DecelerateInterpolator( DECELERATE_INTERPOLATION_FACTOR); TypedArray a = context .obtainStyledAttributes(attrs, LAYOUT_ATTRS); setEnabled(a.getBoolean(0, true)); a.recycle(); WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); DisplayMetrics metrics = getResources().getDisplayMetrics(); mHeaderViewWidth = display.getWidth(); mHeaderViewHeight = (int) (HEADER_VIEW_HEIGHT * metrics.density); createHeaderViewContainer(); ViewCompat.setChildrenDrawingOrderEnabled(this, true); mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density; density = metrics.density; mTotalDragDistance = mSpinnerFinalOffset; }