List of usage examples for android.content.res TypedArray getColorStateList
@Nullable public ColorStateList getColorStateList(@StyleableRes int index)
From source file:com.iangclifton.android.floatlabel.FloatLabel.java
private void init(Context context, AttributeSet attrs, int defStyle) { // Load custom attributes final int layout; final CharSequence text; final CharSequence hint; final ColorStateList hintColor; final int floatLabelColor; final int inputType; if (attrs == null) { layout = R.layout.float_label; text = null;/* ww w . java 2s.co m*/ hint = null; hintColor = null; floatLabelColor = 0; inputType = 0; } else { final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.FloatLabel, defStyle, 0); layout = a.getResourceId(R.styleable.FloatLabel_android_layout, R.layout.float_label); text = a.getText(R.styleable.FloatLabel_android_text); hint = a.getText(R.styleable.FloatLabel_android_hint); hintColor = a.getColorStateList(R.styleable.FloatLabel_android_textColorHint); floatLabelColor = a.getColor(R.styleable.FloatLabel_floatLabelColor, 0); inputType = a.getInt(R.styleable.FloatLabel_android_inputType, InputType.TYPE_CLASS_TEXT); a.recycle(); } inflate(context, layout, this); mEditText = (EditText) findViewById(R.id.edit_text); if (mEditText == null) { throw new RuntimeException("Your layout must have an EditText whose ID is @id/edit_text"); } mEditText.setHint(hint); mEditText.setText(text); if (hintColor != null) { mEditText.setHintTextColor(hintColor); } if (inputType != 0) { mEditText.setInputType(inputType); } mLabel = (TextView) findViewById(R.id.float_label); if (mLabel == null) { throw new RuntimeException("Your layout must have a TextView whose ID is @id/float_label"); } mLabel.setText(mEditText.getHint()); if (floatLabelColor != 0) mLabel.setTextColor(floatLabelColor); // Listen to EditText to know when it is empty or nonempty mEditText.addTextChangedListener(new EditTextWatcher()); // Check current state of EditText if (mEditText.getText().length() == 0) { ViewHelper.setAlpha(mLabel, 0); mLabelShowing = false; } else { mLabel.setVisibility(View.VISIBLE); mLabelShowing = true; } // Mark init as complete to prevent accidentally breaking the view by // adding children mInitComplete = true; }
From source file:android.support.designox.widget.FloatingActionButton.java
public FloatingActionButton(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); ThemeUtils.checkAppCompatTheme(context); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.FloatingActionButton, defStyleAttr, R.style.Widget_Design_FloatingActionButton); mBackgroundTint = a.getColorStateList(R.styleable.FloatingActionButton_backgroundTint_ox); mBackgroundTintMode = parseTintMode(a.getInt(R.styleable.FloatingActionButton_backgroundTintMode_ox, -1), null);//from w w w . ja v a 2 s . c o m mRippleColor = a.getColor(R.styleable.FloatingActionButton_rippleColor, 0); mSize = a.getInt(R.styleable.FloatingActionButton_fabSize_ox, SIZE_NORMAL); mBorderWidth = a.getDimensionPixelSize(R.styleable.FloatingActionButton_borderWidth, 0); final float elevation = a.getDimension(R.styleable.FloatingActionButton_elevation, 0f); final float pressedTranslationZ = a.getDimension(R.styleable.FloatingActionButton_pressedTranslationZ, 0f); mCompatPadding = a.getBoolean(R.styleable.FloatingActionButton_useCompatPadding, false); a.recycle(); mImageHelper = new AppCompatImageHelper(this, AppCompatDrawableManager.get()); mImageHelper.loadFromAttributes(attrs, defStyleAttr); final int maxImageSize = (int) getResources().getDimension(R.dimen.design_fab_image_size); mImagePadding = (getSizeDimension() - maxImageSize) / 2; getImpl().setBackgroundDrawable(mBackgroundTint, mBackgroundTintMode, mRippleColor, mBorderWidth); getImpl().setElevation(elevation); getImpl().setPressedTranslationZ(pressedTranslationZ); getImpl().updatePadding(); }
From source file:com.chenl.widgets.flippablestackview.indicator.OrientedPagerSlidingTabLayout.java
public OrientedPagerSlidingTabLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setFillViewport(true);//from w ww .j av a2 s .c om setWillNotDraw(false); tabsContainer = new LinearLayout(context); tabsContainer.setOrientation(LinearLayout.HORIZONTAL); tabsContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); addView(tabsContainer); DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); scrollOffset = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, scrollOffset, displayMetrics); indicatorHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, indicatorHeight, displayMetrics); underlineHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, underlineHeight, displayMetrics); dividerPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerPadding, displayMetrics); tabPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, tabPadding, displayMetrics); dividerWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerWidth, displayMetrics); tabTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, tabTextSize, displayMetrics); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.OrientedPagerSlidingTabLayout); tabTextSize = typedArray.getDimensionPixelSize(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutTextSize, tabTextSize); tabTextColor = typedArray.getColorStateList(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutTextColor); indicatorColor = typedArray.getColor(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutIndicatorColor, indicatorColor); underlineColor = typedArray.getColor(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutUnderlineColor, underlineColor); dividerColor = typedArray.getColor(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutDividerColor, dividerColor); indicatorHeight = typedArray.getDimensionPixelSize( R.styleable.OrientedPagerSlidingTabLayout_tabLayoutIndicatorHeight, indicatorHeight); underlineHeight = typedArray.getDimensionPixelSize( R.styleable.OrientedPagerSlidingTabLayout_tabLayoutUnderlineHeight, underlineHeight); dividerPadding = typedArray.getDimensionPixelSize( R.styleable.OrientedPagerSlidingTabLayout_tabLayoutDividerPadding, dividerPadding); tabPadding = typedArray.getDimensionPixelSize( R.styleable.OrientedPagerSlidingTabLayout_tabLayoutPaddingLeftRight, tabPadding); tabBackgroundResId = typedArray.getResourceId(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutBackground, tabBackgroundResId); shouldExpand = typedArray.getBoolean(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutShouldExpand, shouldExpand); scrollOffset = typedArray.getDimensionPixelSize( R.styleable.OrientedPagerSlidingTabLayout_tabLayoutScrollOffset, scrollOffset); textAllCaps = typedArray.getBoolean(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutTextAllCaps, textAllCaps); tabMargins = typedArray.getDimensionPixelSize(R.styleable.OrientedPagerSlidingTabLayout_tabLayoutMargins, tabMargins); typedArray.recycle(); rectPaint = new Paint(); rectPaint.setAntiAlias(true); rectPaint.setStyle(Style.FILL); dividerPaint = new Paint(); dividerPaint.setAntiAlias(true); dividerPaint.setStrokeWidth(dividerWidth); defaultTabLayoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); expandedTabLayoutParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f); if (locale == null) { locale = getResources().getConfiguration().locale; } }
From source file:com.commonsware.cwac.crossport.design.widget.CollapsingTextHelper.java
void setExpandedTextAppearance(int resId) { TypedArray a = mView.getContext().obtainStyledAttributes(resId, R.styleable.TextAppearance); if (a.hasValue(R.styleable.TextAppearance_android_textColor)) { mExpandedTextColor = a.getColorStateList(R.styleable.TextAppearance_android_textColor); }/* w ww . ja va 2 s .co m*/ if (a.hasValue(R.styleable.TextAppearance_android_textSize)) { mExpandedTextSize = a.getDimensionPixelSize(R.styleable.TextAppearance_android_textSize, (int) mExpandedTextSize); } mExpandedShadowColor = a.getInt(R.styleable.TextAppearance_android_shadowColor, 0); mExpandedShadowDx = a.getFloat(R.styleable.TextAppearance_android_shadowDx, 0); mExpandedShadowDy = a.getFloat(R.styleable.TextAppearance_android_shadowDy, 0); mExpandedShadowRadius = a.getFloat(R.styleable.TextAppearance_android_shadowRadius, 0); a.recycle(); if (Build.VERSION.SDK_INT >= 16) { mExpandedTypeface = readFontFamilyTypeface(resId); } recalculate(); }
From source file:com.commonsware.cwac.crossport.design.widget.CollapsingTextHelper.java
void setCollapsedTextAppearance(int resId) { TypedArray a = mView.getContext().obtainStyledAttributes(resId, R.styleable.TextAppearance); if (a.hasValue(R.styleable.TextAppearance_android_textColor)) { mCollapsedTextColor = a.getColorStateList(R.styleable.TextAppearance_android_textColor); }/* w w w .jav a 2 s . c o m*/ if (a.hasValue(R.styleable.TextAppearance_android_textSize)) { mCollapsedTextSize = a.getDimensionPixelSize(R.styleable.TextAppearance_android_textSize, (int) mCollapsedTextSize); } mCollapsedShadowColor = a.getInt(R.styleable.TextAppearance_android_shadowColor, 0); mCollapsedShadowDx = a.getFloat(R.styleable.TextAppearance_android_shadowDx, 0); mCollapsedShadowDy = a.getFloat(R.styleable.TextAppearance_android_shadowDy, 0); mCollapsedShadowRadius = a.getFloat(R.styleable.TextAppearance_android_shadowRadius, 0); a.recycle(); if (Build.VERSION.SDK_INT >= 16) { mCollapsedTypeface = readFontFamilyTypeface(resId); } recalculate(); }
From source file:cn.edu.qzu.face.PagerSlidingTabStrip.java
public PagerSlidingTabStrip(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setFillViewport(true);//ww w .ja va2 s. com setWillNotDraw(false); tabsContainer = new LinearLayout(context); tabsContainer.setOrientation(LinearLayout.HORIZONTAL); tabsContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); addView(tabsContainer); DisplayMetrics dm = getResources().getDisplayMetrics(); scrollOffset = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, scrollOffset, dm); indicatorHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, indicatorHeight, dm); underlineHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, underlineHeight, dm); dividerPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerPadding, dm); tabPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, tabPadding, dm); dividerWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerWidth, dm); tabTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, tabTextSize, dm); // get system attrs (android:textSize and android:textColor) TypedArray a = context.obtainStyledAttributes(attrs, ATTRS); tabTextSize = a.getDimensionPixelSize(0, tabTextSize); tabTextColor = a.getColor(1, tabTextColor); tabTextColorStateList = a.getColorStateList(1); if (tabTextColorStateList == null) { tabTextColorStateList = ColorStateList.valueOf(tabTextColor); } a.recycle(); // get custom attrs // a = context.obtainStyledAttributes(attrs, R.styleable.PagerSlidingTabStrip); // // indicatorColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsIndicatorColor, indicatorColor); // underlineColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsUnderlineColor, underlineColor); // dividerColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsDividerColor, dividerColor); // indicatorHeight = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsIndicatorHeight, indicatorHeight); // underlineHeight = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsUnderlineHeight, underlineHeight); // dividerPadding = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsDividerPadding, dividerPadding); // tabPadding = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsTabPaddingLeftRight, tabPadding); // tabBackgroundResId = a.getResourceId(R.styleable.PagerSlidingTabStrip_pstsTabBackground, tabBackgroundResId); // shouldExpand = a.getBoolean(R.styleable.PagerSlidingTabStrip_pstsShouldExpand, shouldExpand); // scrollOffset = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsScrollOffset, scrollOffset); // textAllCaps = a.getBoolean(R.styleable.PagerSlidingTabStrip_pstsTextAllCaps, textAllCaps); a.recycle(); rectPaint = new Paint(); rectPaint.setAntiAlias(true); rectPaint.setStyle(Style.FILL); dividerPaint = new Paint(); dividerPaint.setAntiAlias(true); dividerPaint.setStrokeWidth(dividerWidth); defaultTabLayoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); expandedTabLayoutParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f); if (locale == null) { locale = getResources().getConfiguration().locale; } }
From source file:com.jinzht.pro.smarttablayout.SmartTabLayout.java
public SmartTabLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // Disable the Scroll Bar setHorizontalScrollBarEnabled(false); // Make sure that the Tab Strips fills this View setFillViewport(true);/*from w w w.j a va 2s . co m*/ final DisplayMetrics dm = getResources().getDisplayMetrics(); final float density = dm.density; int tabBackgroundResId = NO_ID; boolean textAllCaps = TAB_VIEW_TEXT_ALL_CAPS; ColorStateList textColors; float textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, TAB_VIEW_TEXT_SIZE_SP, dm); int textHorizontalPadding = (int) (TAB_VIEW_PADDING_DIPS * density); int textMinWidth = (int) (TAB_VIEW_TEXT_MIN_WIDTH * density); boolean distributeEvenly = DEFAULT_DISTRIBUTE_EVENLY; int customTabLayoutId = NO_ID; int customTabTextViewId = NO_ID; TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.stl_SmartTabLayout, defStyle, 0); tabBackgroundResId = a.getResourceId(R.styleable.stl_SmartTabLayout_stl_defaultTabBackground, tabBackgroundResId); textAllCaps = a.getBoolean(R.styleable.stl_SmartTabLayout_stl_defaultTabTextAllCaps, textAllCaps); textColors = a.getColorStateList(R.styleable.stl_SmartTabLayout_stl_defaultTabTextColor); textSize = a.getDimension(R.styleable.stl_SmartTabLayout_stl_defaultTabTextSize, textSize); textHorizontalPadding = a.getDimensionPixelSize( R.styleable.stl_SmartTabLayout_stl_defaultTabTextHorizontalPadding, textHorizontalPadding); textMinWidth = a.getDimensionPixelSize(R.styleable.stl_SmartTabLayout_stl_defaultTabTextMinWidth, textMinWidth); customTabLayoutId = a.getResourceId(R.styleable.stl_SmartTabLayout_stl_customTabTextLayoutId, customTabLayoutId); customTabTextViewId = a.getResourceId(R.styleable.stl_SmartTabLayout_stl_customTabTextViewId, customTabTextViewId); distributeEvenly = a.getBoolean(R.styleable.stl_SmartTabLayout_stl_distributeEvenly, distributeEvenly); a.recycle(); this.titleOffset = (int) (TITLE_OFFSET_DIPS * density); this.tabViewBackgroundResId = tabBackgroundResId; this.tabViewTextAllCaps = textAllCaps; this.tabViewTextColors = (textColors != null) ? textColors : ColorStateList.valueOf(TAB_VIEW_TEXT_COLOR); this.tabViewTextSize = textSize; this.tabViewTextHorizontalPadding = textHorizontalPadding; this.tabViewTextMinWidth = textMinWidth; this.distributeEvenly = distributeEvenly; if (customTabLayoutId != NO_ID) { setCustomTabView(customTabLayoutId, customTabTextViewId); } this.tabStrip = new SmartTabStrip(context, attrs); if (distributeEvenly && tabStrip.isIndicatorAlwaysInCenter()) { throw new UnsupportedOperationException( "'distributeEvenly' and 'indicatorAlwaysInCenter' both use does not support"); } addView(tabStrip, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); }
From source file:com.facebook.litho.widget.TextSpec.java
private static void resolveStyleAttrsForTypedArray(TypedArray a, Output<TruncateAt> ellipsize, Output<Boolean> shouldIncludeFontPadding, Output<Float> spacingMultiplier, Output<Integer> minLines, Output<Integer> maxLines, Output<Integer> minEms, Output<Integer> maxEms, Output<Integer> minWidth, Output<Integer> maxWidth, Output<Boolean> isSingleLine, Output<CharSequence> text, Output<ColorStateList> textColorStateList, Output<Integer> linkColor, Output<Integer> highlightColor, Output<Integer> textSize, Output<Alignment> textAlignment, Output<Integer> textStyle, Output<Float> shadowRadius, Output<Float> shadowDx, Output<Float> shadowDy, Output<Integer> shadowColor, Output<VerticalGravity> verticalGravity) { int viewTextAlignment = View.TEXT_ALIGNMENT_GRAVITY; int gravity = Gravity.NO_GRAVITY; for (int i = 0, size = a.getIndexCount(); i < size; i++) { final int attr = a.getIndex(i); if (attr == R.styleable.Text_android_text) { text.set(a.getString(attr)); } else if (attr == R.styleable.Text_android_textColor) { textColorStateList.set(a.getColorStateList(attr)); } else if (attr == R.styleable.Text_android_textSize) { textSize.set(a.getDimensionPixelSize(attr, 0)); } else if (attr == R.styleable.Text_android_ellipsize) { final int index = a.getInteger(attr, 0); if (index > 0) { ellipsize.set(TRUNCATE_AT[index - 1]); }/* w w w. ja v a 2 s. c o m*/ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && attr == R.styleable.Text_android_textAlignment) { viewTextAlignment = a.getInt(attr, -1); textAlignment.set(getAlignment(viewTextAlignment, gravity)); } else if (attr == R.styleable.Text_android_gravity) { gravity = a.getInt(attr, -1); textAlignment.set(getAlignment(viewTextAlignment, gravity)); verticalGravity.set(getVerticalGravity(gravity)); } else if (attr == R.styleable.Text_android_includeFontPadding) { shouldIncludeFontPadding.set(a.getBoolean(attr, false)); } else if (attr == R.styleable.Text_android_minLines) { minLines.set(a.getInteger(attr, -1)); } else if (attr == R.styleable.Text_android_maxLines) { maxLines.set(a.getInteger(attr, -1)); } else if (attr == R.styleable.Text_android_singleLine) { isSingleLine.set(a.getBoolean(attr, false)); } else if (attr == R.styleable.Text_android_textColorLink) { linkColor.set(a.getColor(attr, 0)); } else if (attr == R.styleable.Text_android_textColorHighlight) { highlightColor.set(a.getColor(attr, 0)); } else if (attr == R.styleable.Text_android_textStyle) { textStyle.set(a.getInteger(attr, 0)); } else if (attr == R.styleable.Text_android_lineSpacingMultiplier) { spacingMultiplier.set(a.getFloat(attr, 0)); } else if (attr == R.styleable.Text_android_shadowDx) { shadowDx.set(a.getFloat(attr, 0)); } else if (attr == R.styleable.Text_android_shadowDy) { shadowDy.set(a.getFloat(attr, 0)); } else if (attr == R.styleable.Text_android_shadowRadius) { shadowRadius.set(a.getFloat(attr, 0)); } else if (attr == R.styleable.Text_android_shadowColor) { shadowColor.set(a.getColor(attr, 0)); } else if (attr == R.styleable.Text_android_minEms) { minEms.set(a.getInteger(attr, DEFAULT_EMS)); } else if (attr == R.styleable.Text_android_maxEms) { maxEms.set(a.getInteger(attr, DEFAULT_EMS)); } else if (attr == R.styleable.Text_android_minWidth) { minWidth.set(a.getDimensionPixelSize(attr, DEFAULT_MIN_WIDTH)); } else if (attr == R.styleable.Text_android_maxWidth) { maxWidth.set(a.getDimensionPixelSize(attr, DEFAULT_MAX_WIDTH)); } } }
From source file:com.stepstone.stepper.StepperLayout.java
private void extractValuesFromAttributes(AttributeSet attrs, @AttrRes int defStyleAttr) { if (attrs != null) { final TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.StepperLayout, defStyleAttr, 0);//from w w w . j a v a2 s. c om if (a.hasValue(R.styleable.StepperLayout_ms_backButtonColor)) { mBackButtonColor = a.getColorStateList(R.styleable.StepperLayout_ms_backButtonColor); } if (a.hasValue(R.styleable.StepperLayout_ms_nextButtonColor)) { mNextButtonColor = a.getColorStateList(R.styleable.StepperLayout_ms_nextButtonColor); } if (a.hasValue(R.styleable.StepperLayout_ms_completeButtonColor)) { mCompleteButtonColor = a.getColorStateList(R.styleable.StepperLayout_ms_completeButtonColor); } if (a.hasValue(R.styleable.StepperLayout_ms_activeStepColor)) { mSelectedColor = a.getColor(R.styleable.StepperLayout_ms_activeStepColor, mSelectedColor); } if (a.hasValue(R.styleable.StepperLayout_ms_inactiveStepColor)) { mUnselectedColor = a.getColor(R.styleable.StepperLayout_ms_inactiveStepColor, mUnselectedColor); } if (a.hasValue(R.styleable.StepperLayout_ms_errorColor)) { mErrorColor = a.getColor(R.styleable.StepperLayout_ms_errorColor, mErrorColor); } if (a.hasValue(R.styleable.StepperLayout_ms_bottomNavigationBackground)) { mBottomNavigationBackground = a.getResourceId( R.styleable.StepperLayout_ms_bottomNavigationBackground, mBottomNavigationBackground); } if (a.hasValue(R.styleable.StepperLayout_ms_backButtonBackground)) { mBackButtonBackground = a.getResourceId(R.styleable.StepperLayout_ms_backButtonBackground, 0); } if (a.hasValue(R.styleable.StepperLayout_ms_nextButtonBackground)) { mNextButtonBackground = a.getResourceId(R.styleable.StepperLayout_ms_nextButtonBackground, 0); } if (a.hasValue(R.styleable.StepperLayout_ms_completeButtonBackground)) { mCompleteButtonBackground = a.getResourceId(R.styleable.StepperLayout_ms_completeButtonBackground, 0); } if (a.hasValue(R.styleable.StepperLayout_ms_backButtonText)) { mBackButtonText = a.getString(R.styleable.StepperLayout_ms_backButtonText); } if (a.hasValue(R.styleable.StepperLayout_ms_nextButtonText)) { mNextButtonText = a.getString(R.styleable.StepperLayout_ms_nextButtonText); } if (a.hasValue(R.styleable.StepperLayout_ms_completeButtonText)) { mCompleteButtonText = a.getString(R.styleable.StepperLayout_ms_completeButtonText); } if (a.hasValue(R.styleable.StepperLayout_ms_tabStepDividerWidth)) { mTabStepDividerWidth = a.getDimensionPixelOffset(R.styleable.StepperLayout_ms_tabStepDividerWidth, -1); } mShowBackButtonOnFirstStep = a.getBoolean(R.styleable.StepperLayout_ms_showBackButtonOnFirstStep, false); mShowErrorState = a.getBoolean(R.styleable.StepperLayout_ms_showErrorState, false); if (a.hasValue(R.styleable.StepperLayout_ms_stepperType)) { mTypeIdentifier = a.getInt(R.styleable.StepperLayout_ms_stepperType, DEFAULT_TAB_DIVIDER_WIDTH); } mShowErrorStateOnBack = a.getBoolean(R.styleable.StepperLayout_ms_showErrorStateOnBack, false); a.recycle(); } }
From source file:cc.wudoumi.framework.views.PagerSlidingTabStrip.java
public PagerSlidingTabStrip(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); tabBackgroundResId = R.drawable.background_tab; setFillViewport(true);/*from ww w . j a v a 2 s .c o m*/ setWillNotDraw(false); tabsContainer = new LinearLayout(context); tabsContainer.setOrientation(LinearLayout.HORIZONTAL); tabsContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); addView(tabsContainer); DisplayMetrics dm = getResources().getDisplayMetrics(); scrollOffset = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, scrollOffset, dm); indicatorHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, indicatorHeight, dm); underlineHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, underlineHeight, dm); dividerPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerPadding, dm); tabPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, tabPadding, dm); dividerWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dividerWidth, dm); tabTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, tabTextSize, dm); // get system attrs (android:textSize and android:textColor) TypedArray a = context.obtainStyledAttributes(attrs, ATTRS); tabTextSize = a.getDimensionPixelSize(0, tabTextSize); //tabTextColor = a.getColor(1, tabTextColor); textColor = a.getColorStateList(1); if (textColor == null) { textColor = ColorStateList.valueOf(tabTextColor); } a.recycle(); // get custom attrs a = context.obtainStyledAttributes(attrs, R.styleable.PagerSlidingTabStrip); indicatorColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsIndicatorColor, indicatorColor); underlineColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsUnderlineColor, underlineColor); dividerColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsDividerColor, dividerColor); indicatorHeight = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsIndicatorHeight, indicatorHeight); underlineHeight = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsUnderlineHeight, underlineHeight); dividerPadding = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsDividerPadding, dividerPadding); tabPadding = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsTabPaddingLeftRight, tabPadding); tabBackgroundResId = a.getResourceId(R.styleable.PagerSlidingTabStrip_pstsTabBackground, tabBackgroundResId); shouldExpand = a.getBoolean(R.styleable.PagerSlidingTabStrip_pstsShouldExpand, shouldExpand); scrollOffset = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsScrollOffset, scrollOffset); textAllCaps = a.getBoolean(R.styleable.PagerSlidingTabStrip_pstsTextAllCaps, textAllCaps); selecttabTextSize = a.getDimensionPixelSize(R.styleable.PagerSlidingTabStrip_pstsSelectTextSize, tabTextSize); a.recycle(); rectPaint = new Paint(); rectPaint.setAntiAlias(true); rectPaint.setStyle(Style.FILL); dividerPaint = new Paint(); dividerPaint.setAntiAlias(true); dividerPaint.setStrokeWidth(dividerWidth); defaultTabLayoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); expandedTabLayoutParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f); if (locale == null) { locale = getResources().getConfiguration().locale; } tabTextSizeChange = tabTextSize != selecttabTextSize; }