List of usage examples for android.content.res TypedArray getInt
public int getInt(@StyleableRes int index, int defValue)
From source file:com.manuelpeinado.imagelayout.ImageLayout.java
private void parseAttributes(AttributeSet attrs) { if (attrs == null) { return;/*from w ww.j a va 2 s .c o m*/ } TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ImageLayout); Drawable drawable = a.getDrawable(R.styleable.ImageLayout_image); if (drawable != null) { if (!(drawable instanceof BitmapDrawable) && !(drawable instanceof PictureDrawable)) { throw new RuntimeException( "Drawable resource in layout description file must be of type \"BitmapDrawable\" or \"PictureDrawable\""); } image = getImageResourceFromDrawable(drawable); srcRect = imageRect(image); } imageWidth = a.getInteger(R.styleable.ImageLayout_imageWidth, -1); imageHeight = a.getInteger(R.styleable.ImageLayout_imageHeight, -1); int fitMode = a.getInt(R.styleable.ImageLayout_fit, this.fitMode); setFitMode(fitMode); int gravity = a.getInt(R.styleable.ImageLayout_android_gravity, this.gravity); setGravity(gravity); a.recycle(); }
From source file:com.mucfc.refreshview.refresh.MySwipeRefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context//from w w w .j a v a 2 s . c o m * @param attrs */ public MySwipeRefreshLayout(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.MySwipeRefreshLayout); MySwipeRefreshLayoutDirection direction = MySwipeRefreshLayoutDirection .getFromInt(a2.getInt(R.styleable.MySwipeRefreshLayout_direction, 0)); if (direction != MySwipeRefreshLayoutDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = MySwipeRefreshLayoutDirection.TOP; mBothDirection = true; } a2.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; }
From source file:cn.usmaker.ben.view.refresh.NeuSwipeRefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context//from ww w . jav a2 s. c o m * @param attrs */ public NeuSwipeRefreshLayout(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.NeuSwipeRefreshLayout); NeuSwipeRefreshLayoutDirection direction = NeuSwipeRefreshLayoutDirection .getFromInt(a2.getInt(R.styleable.NeuSwipeRefreshLayout_direction, 0)); if (direction != NeuSwipeRefreshLayoutDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = NeuSwipeRefreshLayoutDirection.TOP; mBothDirection = true; } a2.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; }
From source file:com.bison.app.ui.refresh.SwipeRefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context//from ww w.ja v a 2s. c om * @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 TypedArray a2 = context.obtainStyledAttributes(attrs, R.styleable.SwipeRefreshLayout); SwipeMode mode = SwipeMode.getFromInt(a2.getInt(R.styleable.SwipeRefreshLayout_mode, 0)); if (mode != SwipeMode.BOTH) { mDirection = mode; mBothDirection = false; } else { mDirection = SwipeMode.TOP; mBothDirection = true; } a2.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; }
From source file:com.cheng.animationstudy.customview.googleimitatecode.SwipyRefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context//from ww w . j a v a2 s . c o m * @param attrs */ public SwipyRefreshLayout(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.SwipyRefreshLayout); SwipyRefreshLayoutDirection direction = SwipyRefreshLayoutDirection .getFromInt(a2.getInt(R.styleable.SwipyRefreshLayout_direction, 0)); if (direction != SwipyRefreshLayoutDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = SwipyRefreshLayoutDirection.TOP; mBothDirection = true; } a2.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; }
From source file:com.example.parking.refresh.RefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context/*from w ww.ja v a2 s . c o m*/ * @param attrs */ public RefreshLayout(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.SwipeRefreshLayout); SwipeRefreshLayoutDirection direction = SwipeRefreshLayoutDirection .getFromInt(a2.getInt(R.styleable.SwipeRefreshLayout_direction, 0)); if (direction != SwipeRefreshLayoutDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = SwipeRefreshLayoutDirection.TOP; mBothDirection = true; } a2.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; }
From source file:com.hadis.mylunbo.carrousel.CircleIndicator.java
private void handleTypedArray(Context context, AttributeSet attrs) { if (attrs == null) { return;/*from w w w . j a v a 2 s . co m*/ } TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CircleIndicator); mIndicatorWidth = typedArray.getDimensionPixelSize(R.styleable.CircleIndicator_ci_width, -1); mIndicatorHeight = typedArray.getDimensionPixelSize(R.styleable.CircleIndicator_ci_height, -1); mIndicatorMargin = typedArray.getDimensionPixelSize(R.styleable.CircleIndicator_ci_margin, -1); mAnimatorResId = typedArray.getResourceId(R.styleable.CircleIndicator_ci_animator, R.animator.scale_with_alpha); mAnimatorReverseResId = typedArray.getResourceId(R.styleable.CircleIndicator_ci_animator_reverse, 0); mIndicatorBackgroundResId = typedArray.getResourceId(R.styleable.CircleIndicator_ci_drawable, R.drawable.white_radius); mIndicatorUnselectedBackgroundResId = typedArray .getResourceId(R.styleable.CircleIndicator_ci_drawable_unselected, mIndicatorBackgroundResId); int orientation = typedArray.getInt(R.styleable.CircleIndicator_ci_orientation, -1); setOrientation(orientation == VERTICAL ? VERTICAL : HORIZONTAL); int gravity = typedArray.getInt(R.styleable.CircleIndicator_ci_gravity, -1); setGravity(gravity >= 0 ? gravity : Gravity.CENTER); typedArray.recycle(); }
From source file:android.support.wear.widget.drawer.PageIndicatorView.java
public PageIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); final TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.PageIndicatorView, defStyleAttr, R.style.WsPageIndicatorViewStyle); mDotSpacing = a.getDimensionPixelOffset(R.styleable.PageIndicatorView_wsPageIndicatorDotSpacing, 0); mDotRadius = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotRadius, 0); mDotRadiusSelected = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotRadiusSelected, 0); mDotColor = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotColor, 0); mDotColorSelected = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotColorSelected, 0); mDotFadeOutDelay = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeOutDelay, 0); mDotFadeOutDuration = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeOutDuration, 0); mDotFadeInDuration = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeInDuration, 0); mDotFadeWhenIdle = a.getBoolean(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeWhenIdle, false); mDotShadowDx = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowDx, 0); mDotShadowDy = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowDy, 0); mDotShadowRadius = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowRadius, 0); mDotShadowColor = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowColor, 0); a.recycle();/*from w ww. jav a 2 s.c om*/ mDotPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mDotPaint.setColor(mDotColor); mDotPaint.setStyle(Style.FILL); mDotPaintSelected = new Paint(Paint.ANTI_ALIAS_FLAG); mDotPaintSelected.setColor(mDotColorSelected); mDotPaintSelected.setStyle(Style.FILL); mDotPaintShadow = new Paint(Paint.ANTI_ALIAS_FLAG); mDotPaintShadowSelected = new Paint(Paint.ANTI_ALIAS_FLAG); mCurrentViewPagerState = ViewPager.SCROLL_STATE_IDLE; if (isInEditMode()) { // When displayed in layout preview: // Simulate 5 positions, currently on the 3rd position. mNumberOfPositions = 5; mSelectedPosition = 2; mDotFadeWhenIdle = false; } if (mDotFadeWhenIdle) { mVisible = false; animate().alpha(0f).setStartDelay(2000).setDuration(mDotFadeOutDuration).start(); } else { animate().cancel(); setAlpha(1.0f); } updateShadows(); }
From source file:com.appeaser.sublimenavigationviewlibrary.SublimeNavigationView.java
public SublimeNavigationView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.SublimeNavigationView, defStyleAttr, R.style.SnvSublimeNavigationView); try {/*w w w. j ava 2s . com*/ // Used for creating default resources SublimeThemer.DefaultTheme defaultTheme = SublimeThemer.DefaultTheme.LIGHT; if (a.hasValue(R.styleable.SublimeNavigationView_snvDefaultTheme)) { defaultTheme = a.getInt(R.styleable.SublimeNavigationView_snvDefaultTheme, 0) == 0 ? SublimeThemer.DefaultTheme.LIGHT : SublimeThemer.DefaultTheme.DARK; } mThemer = new SublimeThemer(getContext(), defaultTheme); mThemer.setDrawerBackground(a.getDrawable(R.styleable.SublimeNavigationView_android_background)); if (a.hasValue(R.styleable.SublimeNavigationView_elevation)) { mThemer.setElevation( (float) a.getDimensionPixelSize(R.styleable.SublimeNavigationView_elevation, 0)); } ViewCompat.setFitsSystemWindows(this, a.getBoolean(R.styleable.SublimeNavigationView_android_fitsSystemWindows, false)); mMaxWidth = a.getDimensionPixelSize(R.styleable.SublimeNavigationView_android_maxWidth, 0); if (a.hasValue(R.styleable.SublimeNavigationView_snvItemIconTint)) { mThemer.setIconTintList(a.getColorStateList(R.styleable.SublimeNavigationView_snvItemIconTint)); } mThemer.setGroupExpandDrawable(a.getDrawable(R.styleable.SublimeNavigationView_snvGroupExpandDrawable)); mThemer.setGroupCollapseDrawable( a.getDrawable(R.styleable.SublimeNavigationView_snvGroupCollapseDrawable)); // Text style profiles for Item, Hint, SubheaderItem & SubheaderHint ColorStateList itemTextColor = null, hintTextColor = null, subheaderItemTextColor = null, subheaderHintTextColor = null, badgeTextColor = null; Typeface itemTypeface = null, hintTypeface = null, subheaderItemTypeface = null, subheaderHintTypeface = null, badgeTypeface = null; int itemTypefaceStyle = 0, hintTypefaceStyle = 0, subheaderItemTypefaceStyle = 0, subheaderHintTypefaceStyle = 0, badgeTypefaceStyle = 0; if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTextColor)) { itemTextColor = a.getColorStateList(R.styleable.SublimeNavigationView_snvItemTextColor); } if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTextColor)) { hintTextColor = a.getColorStateList(R.styleable.SublimeNavigationView_snvHintTextColor); } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTextColor)) { subheaderItemTextColor = a .getColorStateList(R.styleable.SublimeNavigationView_snvSubheaderItemTextColor); } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTextColor)) { subheaderHintTextColor = a .getColorStateList(R.styleable.SublimeNavigationView_snvSubheaderHintTextColor); } if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTextColor)) { badgeTextColor = a.getColorStateList(R.styleable.SublimeNavigationView_snvBadgeTextColor); } try { // Catch the RuntimeException thrown if // the Typeface filename is incorrect if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTypefaceFilename)) { String itemTypefaceFilename = a .getString(R.styleable.SublimeNavigationView_snvItemTypefaceFilename); if (!TextUtils.isEmpty(itemTypefaceFilename)) { itemTypeface = Typeface.createFromAsset(context.getAssets(), itemTypefaceFilename); } } if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTypefaceFilename)) { String hintTypefaceFilename = a .getString(R.styleable.SublimeNavigationView_snvHintTypefaceFilename); if (!TextUtils.isEmpty(hintTypefaceFilename)) { hintTypeface = Typeface.createFromAsset(context.getAssets(), hintTypefaceFilename); } } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceFilename)) { String subheaderItemTypefaceFilename = a .getString(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceFilename); if (!TextUtils.isEmpty(subheaderItemTypefaceFilename)) { subheaderItemTypeface = Typeface.createFromAsset(context.getAssets(), subheaderItemTypefaceFilename); } } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceFilename)) { String subheaderHintTypefaceFilename = a .getString(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceFilename); if (!TextUtils.isEmpty(subheaderHintTypefaceFilename)) { subheaderHintTypeface = Typeface.createFromAsset(context.getAssets(), subheaderHintTypefaceFilename); } } if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTypefaceFilename)) { String badgeTypefaceFilename = a .getString(R.styleable.SublimeNavigationView_snvBadgeTypefaceFilename); if (!TextUtils.isEmpty(badgeTypefaceFilename)) { badgeTypeface = Typeface.createFromAsset(context.getAssets(), badgeTypefaceFilename); } } } catch (RuntimeException re) { Log.e(TAG, "Error loading Typeface from Assets. " + "Confirm that the Typeface filename is correct:\n" + " - filename should include the extension\n" + " - filename is case-sensitive"); } if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTypefaceStyle)) { itemTypefaceStyle = a.getInt(R.styleable.SublimeNavigationView_snvItemTypefaceStyle, Typeface.NORMAL); switch (itemTypefaceStyle) { case 1: itemTypefaceStyle = Typeface.BOLD; break; case 2: itemTypefaceStyle = Typeface.ITALIC; break; case 3: itemTypefaceStyle = Typeface.BOLD_ITALIC; break; default: // case 0: NORMAL itemTypefaceStyle = Typeface.NORMAL; break; } } if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTypefaceStyle)) { hintTypefaceStyle = a.getInt(R.styleable.SublimeNavigationView_snvHintTypefaceStyle, Typeface.NORMAL); switch (hintTypefaceStyle) { case 1: hintTypefaceStyle = Typeface.BOLD; break; case 2: hintTypefaceStyle = Typeface.ITALIC; break; case 3: hintTypefaceStyle = Typeface.BOLD_ITALIC; break; default: // case 0: NORMAL hintTypefaceStyle = Typeface.NORMAL; break; } } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceStyle)) { subheaderItemTypefaceStyle = a .getInt(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceStyle, Typeface.NORMAL); switch (subheaderItemTypefaceStyle) { case 1: subheaderItemTypefaceStyle = Typeface.BOLD; break; case 2: subheaderItemTypefaceStyle = Typeface.ITALIC; break; case 3: subheaderItemTypefaceStyle = Typeface.BOLD_ITALIC; break; default: // case 0: NORMAL subheaderItemTypefaceStyle = Typeface.NORMAL; break; } } if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceStyle)) { subheaderHintTypefaceStyle = a .getInt(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceStyle, Typeface.NORMAL); switch (subheaderHintTypefaceStyle) { case 1: subheaderHintTypefaceStyle = Typeface.BOLD; break; case 2: subheaderHintTypefaceStyle = Typeface.ITALIC; break; case 3: subheaderHintTypefaceStyle = Typeface.BOLD_ITALIC; break; default: // case 0: NORMAL subheaderHintTypefaceStyle = Typeface.NORMAL; break; } } if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTypefaceStyle)) { badgeTypefaceStyle = a.getInt(R.styleable.SublimeNavigationView_snvBadgeTypefaceStyle, Typeface.NORMAL); switch (badgeTypefaceStyle) { case 1: badgeTypefaceStyle = Typeface.BOLD; break; case 2: badgeTypefaceStyle = Typeface.ITALIC; break; case 3: badgeTypefaceStyle = Typeface.BOLD_ITALIC; break; default: // case 0: NORMAL badgeTypefaceStyle = Typeface.NORMAL; break; } } // Item text styling TextViewStyleProfile itemStyleProfile = new TextViewStyleProfile(context, defaultTheme); itemStyleProfile.setTextColor(itemTextColor).setTypeface(itemTypeface) .setTypefaceStyle(itemTypefaceStyle); mThemer.setItemStyleProfile(itemStyleProfile); // Hint text styling TextViewStyleProfile hintStyleProfile = new TextViewStyleProfile(context, defaultTheme); hintStyleProfile.setTextColor(hintTextColor).setTypeface(hintTypeface) .setTypefaceStyle(hintTypefaceStyle); mThemer.setItemHintStyleProfile(hintStyleProfile); // Sub-header item text styling TextViewStyleProfile subheaderItemStyleProfile = new TextViewStyleProfile(context, defaultTheme); subheaderItemStyleProfile.setTextColor(subheaderItemTextColor).setTypeface(subheaderItemTypeface) .setTypefaceStyle(subheaderItemTypefaceStyle); mThemer.setSubheaderStyleProfile(subheaderItemStyleProfile); // Sub-header hint text styling TextViewStyleProfile subheaderHintStyleProfile = new TextViewStyleProfile(context, defaultTheme); subheaderHintStyleProfile.setTextColor(subheaderHintTextColor).setTypeface(subheaderHintTypeface) .setTypefaceStyle(subheaderHintTypefaceStyle); mThemer.setSubheaderHintStyleProfile(subheaderHintStyleProfile); // Badge text styling TextViewStyleProfile badgeStyleProfile = new TextViewStyleProfile(context, defaultTheme); badgeStyleProfile.setTextColor(badgeTextColor).setTypeface(badgeTypeface) .setTypefaceStyle(badgeTypefaceStyle); mThemer.setBadgeStyleProfile(badgeStyleProfile); mThemer.setItemBackground(a.getDrawable(R.styleable.SublimeNavigationView_snvItemBackground)); if (a.hasValue(R.styleable.SublimeNavigationView_snvMenu)) { int menuResId = a.getResourceId(R.styleable.SublimeNavigationView_snvMenu, -1); if (menuResId == -1) { throw new RuntimeException("Passed menuResId was not valid"); } mMenu = new SublimeMenu(menuResId); inflateMenu(menuResId); } mMenu.setCallback(new SublimeMenu.Callback() { public boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item, OnNavigationMenuEventListener.Event event) { return SublimeNavigationView.this.mEventListener != null && SublimeNavigationView.this.mEventListener.onNavigationMenuEvent(event, item); } }); mPresenter = new SublimeMenuPresenter(); applyThemer(); mMenu.setMenuPresenter(getContext(), mPresenter); addView(mPresenter.getMenuView(this)); if (a.hasValue(R.styleable.SublimeNavigationView_snvHeaderLayout)) { inflateHeaderView(a.getResourceId(R.styleable.SublimeNavigationView_snvHeaderLayout, 0)); } } finally { a.recycle(); } // Upon creation, and until initializations are done, // SublimeMenuPresenter blocks all calls for invalidation. // We can now finalize the initialization phase to allow // invalidation of the menu when required. mPresenter.setInitializationDone(); }
From source file:android.kectech.com.stylingactionbar.lib.SwipyRefreshLayout.java
/** * Constructor that is called when inflating SwipeRefreshLayout from XML. * * @param context/*from w w w . ja v a 2 s . c o m*/ * @param attrs */ public SwipyRefreshLayout(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.SwipyRefreshLayout); SwipyRefreshLayoutDirection direction = SwipyRefreshLayoutDirection .getFromInt(a2.getInt(R.styleable.SwipyRefreshLayout_direction, 0)); if (direction != SwipyRefreshLayoutDirection.BOTH) { mDirection = direction; mBothDirection = false; } else { mDirection = SwipyRefreshLayoutDirection.TOP; mBothDirection = true; } a2.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; }