Example usage for android.util TypedValue complexToDimension

List of usage examples for android.util TypedValue complexToDimension

Introduction

In this page you can find the example usage for android.util TypedValue complexToDimension.

Prototype

public static float complexToDimension(int data, DisplayMetrics metrics) 

Source Link

Document

Converts a complex data value holding a dimension to its final floating point value.

Usage

From source file:cn.koosoft.xianzoo.widget.CirclePageIndicator.java

public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (isInEditMode())
        return;//from   w w  w .j a v a2 s .  c o m

    //Load defaults from resources
    final Resources res = getResources();
    final int defaultPageColor = Color.BLACK;
    final int defaultFillColor = Color.WHITE;
    final int defaultOrientation = HORIZONTAL;
    final int defaultStrokeColor = Color.LTGRAY;
    final float defaultStrokeWidth = TypedValue.complexToDimension(1, getResources().getDisplayMetrics());
    final float defaultRadius = TypedValue.complexToDimension(3, getResources().getDisplayMetrics());
    final boolean defaultCentered = true;
    final boolean defaultSnap = false;

    //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);
}