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


Java ViewConfigurationCompat.getScaledPagingTouchSlop方法代码示例

本文整理汇总了Java中android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop方法的典型用法代码示例。如果您正苦于以下问题:Java ViewConfigurationCompat.getScaledPagingTouchSlop方法的具体用法?Java ViewConfigurationCompat.getScaledPagingTouchSlop怎么用?Java ViewConfigurationCompat.getScaledPagingTouchSlop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v4.view.ViewConfigurationCompat的用法示例。


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

示例1: initViewPager

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
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);
	}
}
 
开发者ID:fengshihao,项目名称:WebPager,代码行数:27,代码来源:CustomViewPager.java

示例2: setScrollingTouchSlop

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
/**
 * Configure the scrolling touch slop for a specific use case.
 *
 * Set up the RecyclerView's scrolling motion threshold based on common usages.
 * Valid arguments are {@link #TOUCH_SLOP_DEFAULT} and {@link #TOUCH_SLOP_PAGING}.
 *
 * @param slopConstant One of the <code>TOUCH_SLOP_</code> constants representing
 *                     the intended usage of this RecyclerView
 */
public void setScrollingTouchSlop(int slopConstant) {
    final ViewConfiguration vc = ViewConfiguration.get(getContext());
    switch (slopConstant) {
        default:
            Log.w(TAG, "setScrollingTouchSlop(): bad argument constant "
                    + slopConstant + "; using default value");
            // fall-through
        case TOUCH_SLOP_DEFAULT:
            mTouchSlop = vc.getScaledTouchSlop();
            break;

        case TOUCH_SLOP_PAGING:
            mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(vc);
            break;
    }
}
 
开发者ID:pooyafaroka,项目名称:PlusGram,代码行数:26,代码来源:RecyclerView.java

示例3: UnderlinePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public UnderlinePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    final Resources res = getResources();

    //Load defaults from resources
    final boolean defaultFades = res.getBoolean(R.bool.default_underline_indicator_fades);
    final int defaultFadeDelay = res.getInteger(R.integer.default_underline_indicator_fade_delay);
    final int defaultFadeLength = res.getInteger(R.integer.default_underline_indicator_fade_length);
    final int defaultSelectedColor = res.getColor(R.color.default_underline_indicator_selected_color);

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.UnderlinePageIndicator, defStyle, 0);

    setFades(a.getBoolean(R.styleable.UnderlinePageIndicator_fades, defaultFades));
    setSelectedColor(a.getColor(R.styleable.UnderlinePageIndicator_selectedColor, defaultSelectedColor));
    setFadeDelay(a.getInteger(R.styleable.UnderlinePageIndicator_fadeDelay, defaultFadeDelay));
    setFadeLength(a.getInteger(R.styleable.UnderlinePageIndicator_fadeLength, defaultFadeLength));

    Drawable background = a.getDrawable(R.styleable.UnderlinePageIndicator_android_background);
    if (background != null) {
      setBackgroundDrawable(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:SShineTeam,项目名称:Huochexing12306,代码行数:31,代码来源:UnderlinePageIndicator.java

示例4: initViewPager

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
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);
    }
}
 
开发者ID:sega4revenge,项目名称:Sega,代码行数:28,代码来源:ViewPagerEx.java

示例5: setScrollingTouchSlop

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
@Override
public void setScrollingTouchSlop(int slopConstant) {
    super.setScrollingTouchSlop(slopConstant);
    final ViewConfiguration vc = ViewConfiguration.get(getContext());
    switch (slopConstant) {
        case TOUCH_SLOP_DEFAULT:
            mTouchSlop = vc.getScaledTouchSlop();
            break;
        case TOUCH_SLOP_PAGING:
            mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(vc);
            break;
        default:
            break;
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:16,代码来源:BaseRecycleView.java

示例6: initCustomViewAbove

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
void initCustomViewAbove() {
	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();
	setInternalPageChangeListener(new SimpleOnPageChangeListener() {
		public void onPageSelected(int position) {
			if (mViewBehind != null) {
				switch (position) {
				case 0:
				case 2:
					mViewBehind.setChildrenEnabled(true);
					break;
				case 1:
					mViewBehind.setChildrenEnabled(false);
					break;
				}
			}
		}
	});

	final float density = context.getResources().getDisplayMetrics().density;
	mFlingDistance = (int) (MIN_DISTANCE_FOR_FLING * density);
}
 
开发者ID:6ag,项目名称:LiuAGeAndroid,代码行数:30,代码来源:CustomViewAbove.java

示例7: initViewPager

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
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();
    mTopEdge = new EdgeEffectCompat(context);
    mBottomEdge = 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);
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:28,代码来源:VerticalViewPager.java

示例8: LinePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public LinePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    final Resources res = getResources();

    //Load defaults from resources
    final int defaultSelectedColor = res.getColor(R.color.default_line_indicator_selected_color);
    final int defaultUnselectedColor = res.getColor(R.color.default_line_indicator_unselected_color);
    final float defaultLineWidth = res.getDimension(R.dimen.default_line_indicator_line_width);
    final float defaultGapWidth = res.getDimension(R.dimen.default_line_indicator_gap_width);
    final float defaultStrokeWidth = res.getDimension(R.dimen.default_line_indicator_stroke_width);
    final boolean defaultCentered = res.getBoolean(R.bool.default_line_indicator_centered);

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.LinePageIndicator, defStyle, 0);

    mCentered = a.getBoolean(R.styleable.LinePageIndicator_centered, defaultCentered);
    mLineWidth = a.getDimension(R.styleable.LinePageIndicator_lineWidth, defaultLineWidth);
    mGapWidth = a.getDimension(R.styleable.LinePageIndicator_gapWidth, defaultGapWidth);
    setStrokeWidth(a.getDimension(R.styleable.LinePageIndicator_strokeWidth, defaultStrokeWidth));
    mPaintUnselected.setColor(a.getColor(R.styleable.LinePageIndicator_unselectedColor, defaultUnselectedColor));
    mPaintSelected.setColor(a.getColor(R.styleable.LinePageIndicator_selectedColor, defaultSelectedColor));

    Drawable background = a.getDrawable(R.styleable.LinePageIndicator_android_background);
    if (background != null) {
      setBackgroundDrawable(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:benniaobuguai,项目名称:android-project-gallery,代码行数:35,代码来源:LinePageIndicator.java

示例9: CirclePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    //Load defaults from resources
    final Resources res = getResources();
    final int defaultPageColor = res.getColor(R.color.lv_default_circle_indicator_page_color);
    final int defaultFillColor = res.getColor(R.color.lv_default_circle_indicator_fill_color);
    final int defaultOrientation = res.getInteger(R.integer.lv_default_circle_indicator_orientation);
    final int defaultStrokeColor = res.getColor(R.color.lv_default_circle_indicator_stroke_color);
    final float defaultStrokeWidth = res.getDimension(R.dimen.lv_default_circle_indicator_stroke_width);
    final float defaultRadius = res.getDimension(R.dimen.lv_default_circle_indicator_radius);
    final boolean defaultCentered = res.getBoolean(R.bool.lv_default_circle_indicator_centered);
    final boolean defaultSnap = res.getBoolean(R.bool.lv_default_circle_indicator_snap);

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.LVCirclePageIndicator, defStyle, 0);

    mCentered = a.getBoolean(R.styleable.LVCirclePageIndicator_lv_centered1, defaultCentered);
    mOrientation = a.getInt(R.styleable.LVCirclePageIndicator_android_orientation, defaultOrientation);
    mPaintPageFill.setStyle(Style.FILL);
    mPaintPageFill.setColor(a.getColor(R.styleable.LVCirclePageIndicator_lv_pageColor, defaultPageColor));
    mPaintStroke.setStyle(Style.STROKE);
    mPaintStroke.setColor(a.getColor(R.styleable.LVCirclePageIndicator_lv_strokeColor, defaultStrokeColor));
    mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.LVCirclePageIndicator_lv_strokeWidth, defaultStrokeWidth));
    mPaintFill.setStyle(Style.FILL);
    mPaintFill.setColor(a.getColor(R.styleable.LVCirclePageIndicator_lv_fillColor, defaultFillColor));
    mRadius = a.getDimension(R.styleable.LVCirclePageIndicator_lv_radius1, defaultRadius);
    mSnap = a.getBoolean(R.styleable.LVCirclePageIndicator_lv_snap, defaultSnap);

    Drawable background = a.getDrawable(R.styleable.LVCirclePageIndicator_android_background);
    if (background != null) {
        setBackgroundDrawable(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:alibaba,项目名称:LuaViewPlayground,代码行数:41,代码来源:CirclePageIndicator.java

示例10: CirclePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public CirclePageIndicator(final Context context, final AttributeSet attrs, final int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    //Load defaults from resources
    final Resources res = getResources();
    final int defaultPageColor = res.getColor(R.color.default_circle_indicator_page_color);
    final int defaultFillColor = res.getColor(R.color.default_circle_indicator_fill_color);
    final int defaultOrientation = res.getInteger(R.integer.default_circle_indicator_orientation);
    final int defaultStrokeColor = res.getColor(R.color.default_circle_indicator_stroke_color);
    final float defaultStrokeWidth = res.getDimension(R.dimen.default_circle_indicator_stroke_width);
    final float defaultRadius = res.getDimension(R.dimen.default_circle_indicator_radius);
    final boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered);
    final boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap);

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, 0);

    mCentered = a.getBoolean(R.styleable.CirclePageIndicator_centered, defaultCentered);
    mOrientation = a.getInt(R.styleable.CirclePageIndicator_android_orientation, defaultOrientation);
    mPaintPageFill.setStyle(Style.FILL);
    mPaintPageFill.setColor(a.getColor(R.styleable.CirclePageIndicator_pageColor, defaultPageColor));
    mPaintStroke.setStyle(Style.STROKE);
    mPaintStroke.setColor(a.getColor(R.styleable.CirclePageIndicator_strokeColor, defaultStrokeColor));
    mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.CirclePageIndicator_strokeWidth, defaultStrokeWidth));
    mPaintFill.setStyle(Style.FILL);
    mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_fillColor, defaultFillColor));
    mRadius = a.getDimension(R.styleable.CirclePageIndicator_radius, defaultRadius);
    mSnap = a.getBoolean(R.styleable.CirclePageIndicator_snap, defaultSnap);

    Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
    if (background != null) {
        setBackgroundDrawable(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:WorldBank-Transport,项目名称:RoadLab-Pro,代码行数:41,代码来源:CirclePageIndicator.java

示例11: setScrollingTouchSlop

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public void setScrollingTouchSlop(int slopConstant) {
    ViewConfiguration vc = ViewConfiguration.get(getContext());
    switch (slopConstant) {
        case 0:
            break;
        case 1:
            this.mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(vc);
            return;
        default:
            Log.w(TAG, "setScrollingTouchSlop(): bad argument constant " + slopConstant + "; using default value");
            break;
    }
    this.mTouchSlop = vc.getScaledTouchSlop();
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:15,代码来源:RecyclerView.java

示例12: CirclePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    this.mPaintPageFill = new Paint(1);
    this.mPaintStroke = new Paint(1);
    this.mPaintFill = new Paint(1);
    this.mLastMotionX = -1.0f;
    this.mActivePointerId = -1;
    if (!isInEditMode()) {
        Resources res = getResources();
        int defaultPageColor = res.getColor(R.color.default_circle_indicator_page_color);
        int defaultFillColor = res.getColor(R.color.default_circle_indicator_fill_color);
        int defaultOrientation = res.getInteger(R.integer.default_circle_indicator_orientation);
        int defaultStrokeColor = res.getColor(R.color.default_circle_indicator_stroke_color);
        float defaultStrokeWidth = res.getDimension(R.dimen
                .default_circle_indicator_stroke_width);
        float defaultRadius = res.getDimension(R.dimen.default_circle_indicator_radius);
        boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered);
        boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap);
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator,
                defStyle, 0);
        this.mCentered = a.getBoolean(2, defaultCentered);
        this.mOrientation = a.getInt(0, defaultOrientation);
        this.mPaintPageFill.setStyle(Style.FILL);
        this.mPaintPageFill.setColor(a.getColor(5, defaultPageColor));
        this.mPaintStroke.setStyle(Style.STROKE);
        this.mPaintStroke.setColor(a.getColor(8, defaultStrokeColor));
        this.mPaintStroke.setStrokeWidth(a.getDimension(3, defaultStrokeWidth));
        this.mPaintFill.setStyle(Style.FILL);
        this.mPaintFill.setColor(a.getColor(4, defaultFillColor));
        this.mRadius = a.getDimension(6, defaultRadius);
        this.mSnap = a.getBoolean(7, defaultSnap);
        Drawable background = a.getDrawable(1);
        if (background != null) {
            setBackgroundDrawable(background);
        }
        a.recycle();
        this.mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(ViewConfiguration
                .get(context));
    }
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:41,代码来源:CirclePageIndicator.java

示例13: CirclePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, 0);

    mCentered = a.getBoolean(R.styleable.CirclePageIndicator_tic_centered, true);
    mOrientation = a.getInt(R.styleable.CirclePageIndicator_android_orientation, LinearLayout.HORIZONTAL);
    mPaintPageFill.setStyle(Style.FILL);
    mPaintPageFill.setColor(a.getColor(R.styleable.CirclePageIndicator_tic_pageColor, Color.TRANSPARENT));
    mPaintStroke.setStyle(Style.STROKE);
    mPaintStroke.setColor(a.getColor(R.styleable.CirclePageIndicator_android_strokeColor, Color.LTGRAY));
    mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.CirclePageIndicator_tic_strokeWidth, MetricsUtils.convertDpToPixel(1, getContext())));
    mPaintFill.setStyle(Style.FILL);
    mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_android_fillColor, Color.WHITE));
    mRadius = a.getDimension(R.styleable.CirclePageIndicator_android_radius, MetricsUtils.convertDpToPixel(3, getContext()));
    mSnap = a.getBoolean(R.styleable.CirclePageIndicator_tic_snap, false);

    Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
    if (background != null) {
      setBackground(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:mobvoi,项目名称:ticdesign,代码行数:30,代码来源:CirclePageIndicator.java

示例14: ScrollerLayout

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public ScrollerLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    // 第一步,创建Scroller的实例
    mScroller = new Scroller(context);
    ViewConfiguration configuration = ViewConfiguration.get(context);
    // 获取TouchSlop值
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:zyyoona7,项目名称:CustomViewSets,代码行数:9,代码来源:ScrollerLayout.java

示例15: CirclePageIndicator

import android.support.v4.view.ViewConfigurationCompat; //导入方法依赖的package包/类
public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode()) return;

    //Load defaults from resources
    final Resources res = getResources();
    final int defaultPageColor = res.getColor(R.color.default_circle_indicator_page_color);
    final int defaultFillColor = res.getColor(R.color.default_circle_indicator_fill_color);
    final int defaultOrientation = res.getInteger(R.integer.default_circle_indicator_orientation);
    final int defaultStrokeColor = res.getColor(R.color.default_circle_indicator_stroke_color);
    final float defaultStrokeWidth = res.getDimension(R.dimen.default_circle_indicator_stroke_width);
    final float defaultRadius = res.getDimension(R.dimen.default_circle_indicator_radius);
    final boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered);
    final boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap);

    //Retrieve styles attributes
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, 0);

    mCentered = a.getBoolean(R.styleable.CirclePageIndicator_centered, defaultCentered);
    mOrientation = a.getInt(R.styleable.CirclePageIndicator_android_orientation, defaultOrientation);
    mPaintPageFill.setStyle(Style.FILL);
    mPaintPageFill.setColor(a.getColor(R.styleable.CirclePageIndicator_pageColor, defaultPageColor));
    mPaintStroke.setStyle(Style.STROKE);
    mPaintStroke.setColor(a.getColor(R.styleable.CirclePageIndicator_strokeColor, defaultStrokeColor));
    mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.CirclePageIndicator_strokeWidth, defaultStrokeWidth));
    mPaintFill.setStyle(Style.FILL);
    mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_fillColor, defaultFillColor));
    mRadius = a.getDimension(R.styleable.CirclePageIndicator_radius, defaultRadius);
    mSnap = a.getBoolean(R.styleable.CirclePageIndicator_snap, defaultSnap);

    Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
    if (background != null) {
      setBackgroundDrawable(background);
    }

    a.recycle();

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
}
 
开发者ID:xulailing,项目名称:android-open-project-demo-master,代码行数:41,代码来源:CirclePageIndicator.java


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