Java Code Examples for android.content.res.TypedArray#peekValue()
The following examples show how to use
android.content.res.TypedArray#peekValue() .
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: PreferenceXmlUtil.java From android-testdpc with Apache License 2.0 | 6 votes |
private static String getData(Context context, AttributeSet set, int attribute) throws ReflectiveOperationException { final TypedArray sa = context.obtainStyledAttributes(set, new int[] {attribute}); try { final TypedValue tv = sa.peekValue(0); CharSequence data = null; if (tv != null && tv.type == TypedValue.TYPE_STRING) { if (tv.resourceId != 0) { data = context.getText(tv.resourceId); } else { data = tv.string; } } return (data != null) ? data.toString() : null; } finally { sa.recycle(); } }
Example 2
Source File: BottomSheetBehaviorV2.java From paper-launcher with MIT License | 6 votes |
/** * Default constructor for inflating BottomSheetBehaviors from layout. * * @param context The {@link Context}. * @param attrs The {@link AttributeSet}. */ public BottomSheetBehaviorV2(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, android.support.design.R.styleable.BottomSheetBehavior_Layout); TypedValue value = a.peekValue(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); if (value != null && value.data == PEEK_HEIGHT_AUTO) { setPeekHeight(value.data); } else { setPeekHeight(a.getDimensionPixelSize( android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); } setHideable(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); setSkipCollapsed(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, false)); a.recycle(); ViewConfiguration configuration = ViewConfiguration.get(context); mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); }
Example 3
Source File: ViewPagerBottomSheetBehavior.java From ViewPagerBottomSheet with Apache License 2.0 | 6 votes |
/** * Default constructor for inflating ViewPagerBottomSheetBehaviors from layout. * * @param context The {@link Context}. * @param attrs The {@link AttributeSet}. */ public ViewPagerBottomSheetBehavior(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BottomSheetBehavior_Layout); TypedValue value = a.peekValue(R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); if (value != null && value.data == PEEK_HEIGHT_AUTO) { setPeekHeight(value.data); } else { setPeekHeight(a.getDimensionPixelSize( R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); } setHideable(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); setSkipCollapsed(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, false)); a.recycle(); ViewConfiguration configuration = ViewConfiguration.get(context); mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); mMinimumVelocity = configuration.getScaledMinimumFlingVelocity(); }
Example 4
Source File: AnimatorInflater.java From android_9.0.0_r45 with Apache License 2.0 | 6 votes |
private static int inferValueTypeOfKeyframe(Resources res, Theme theme, AttributeSet attrs) { int valueType; TypedArray a; if (theme != null) { a = theme.obtainStyledAttributes(attrs, R.styleable.Keyframe, 0, 0); } else { a = res.obtainAttributes(attrs, R.styleable.Keyframe); } TypedValue keyframeValue = a.peekValue(R.styleable.Keyframe_value); boolean hasValue = (keyframeValue != null); // When no value type is provided, check whether it's a color type first. // If not, fall back to default value type (i.e. float type). if (hasValue && isColorType(keyframeValue.type)) { valueType = VALUE_TYPE_COLOR; } else { valueType = VALUE_TYPE_FLOAT; } a.recycle(); return valueType; }
Example 5
Source File: IRCColorUtils.java From revolution-irc with GNU General Public License v3.0 | 6 votes |
public static void loadColors(Resources.Theme theme, int resId) { TypedArray ta = theme.obtainStyledAttributes(resId, R.styleable.IRCColors); sColorValues = new int[R.styleable.IRCColors.length]; for (int i = 0; i < sColorValues.length; i++) { try { int j = i; TypedValue tv; while ((tv = ta.peekValue(j)) != null && tv.type == TypedValue.TYPE_ATTRIBUTE) j = Arrays.binarySearch(R.styleable.IRCColors, tv.data); sColorValues[i] = ta.getColor(j, Color.RED); } catch (UnsupportedOperationException e) { e.printStackTrace(); sColorValues[i] = Color.RED; } } ta.recycle(); }
Example 6
Source File: ResourceUtils.java From simple-keyboard with Apache License 2.0 | 5 votes |
public static int getEnumValue(final TypedArray a, final int index, final int defValue) { final TypedValue value = a.peekValue(index); if (value == null) { return defValue; } if (isIntegerValue(value)) { return a.getInt(index, defValue); } return defValue; }
Example 7
Source File: GradientDrawableInflateImpl.java From timecat with Apache License 2.0 | 5 votes |
float getAttrFloatOrFraction(Context context, AttributeSet attrs, int attr, float defaultValue, float base, float pbase) { TypedArray a = DrawableUtils.obtainAttributes(context.getResources(), context.getTheme(), attrs, new int[]{attr}); TypedValue tv = a.peekValue(0); float v = defaultValue; if (tv != null) { boolean isFraction = tv.type == TypedValue.TYPE_FRACTION; v = isFraction ? tv.getFraction(base, pbase) : tv.getFloat(); } a.recycle(); return v; }
Example 8
Source File: Keyboard.java From hackerskeyboard with Apache License 2.0 | 5 votes |
static float getDimensionOrFraction(TypedArray a, int index, int base, float defValue) { TypedValue value = a.peekValue(index); if (value == null) return defValue; if (value.type == TypedValue.TYPE_DIMENSION) { return a.getDimensionPixelOffset(index, Math.round(defValue)); } else if (value.type == TypedValue.TYPE_FRACTION) { // Round it to avoid values like 47.9999 from getting truncated //return Math.round(a.getFraction(index, base, base, defValue)); return a.getFraction(index, base, base, defValue); } return defValue; }
Example 9
Source File: ResourceUtils.java From openboard with GNU General Public License v3.0 | 5 votes |
public static int getEnumValue(final TypedArray a, final int index, final int defValue) { final TypedValue value = a.peekValue(index); if (value == null) { return defValue; } if (isIntegerValue(value)) { return a.getInt(index, defValue); } return defValue; }
Example 10
Source File: ResourceUtils.java From openboard with GNU General Public License v3.0 | 5 votes |
public static float getDimensionOrFraction(final TypedArray a, final int index, final int base, final float defValue) { final TypedValue value = a.peekValue(index); if (value == null) { return defValue; } if (isFractionValue(value)) { return a.getFraction(index, base, base, defValue); } else if (isDimensionValue(value)) { return a.getDimension(index, defValue); } return defValue; }
Example 11
Source File: ResourceUtils.java From AOSP-Kayboard-7.1.2 with Apache License 2.0 | 5 votes |
public static float getFraction(final TypedArray a, final int index, final float defValue) { final TypedValue value = a.peekValue(index); if (value == null || !isFractionValue(value)) { return defValue; } return a.getFraction(index, 1, 1, defValue); }
Example 12
Source File: DashboardTile.java From AcDisplay with GNU General Public License v2.0 | 5 votes |
public DashboardTile(Context context, AttributeSet attrs) { TypedArray sa = context.obtainStyledAttributes(attrs, R.styleable.DashboardTile); TypedValue tv; id = sa.getResourceId(R.styleable.DashboardTile_dashboard_id, TILE_ID_UNDEFINED); iconRes = sa.getResourceId(R.styleable.DashboardTile_dashboard_icon, 0); fragment = sa.getString(R.styleable.DashboardTile_dashboard_fragment); tv = sa.peekValue(R.styleable.DashboardTile_dashboard_title); if (tv != null && tv.type == TypedValue.TYPE_STRING) { if (tv.resourceId != 0) { titleRes = tv.resourceId; } else { title = tv.string; } } tv = sa.peekValue(R.styleable.DashboardTile_dashboard_summary); if (tv != null && tv.type == TypedValue.TYPE_STRING) { if (tv.resourceId != 0) { summaryRes = tv.resourceId; } else { summary = tv.string; } } sa.recycle(); }
Example 13
Source File: DynamicApkParser.java From Android-plugin-support with MIT License | 5 votes |
private boolean parsePackageItemInfo(DynamicApkInfo owner, PackageItemInfo outInfo, String[] outError, String tag, TypedArray sa, int nameRes, int labelRes, int iconRes, int logoRes, int bannerRes) { String name = sa.getString(nameRes); if (name == null) { outError[0] = tag + " does not specify android:name"; return false; } outInfo.name = buildClassName(owner.applicationInfo.packageName, name, outError); if (outInfo.name == null) { return false; } int iconVal = sa.getResourceId(iconRes, 0); if (iconVal != 0) { outInfo.icon = iconVal; outInfo.nonLocalizedLabel = null; } int logoVal = sa.getResourceId(logoRes, 0); if (logoVal != 0) { outInfo.logo = logoVal; } int bannerVal = sa.getResourceId(bannerRes, 0); if (bannerVal != 0) { outInfo.banner = bannerVal; } TypedValue v = sa.peekValue(labelRes); if (v != null && (outInfo.labelRes=v.resourceId) == 0) { outInfo.nonLocalizedLabel = v.coerceToString(); } outInfo.packageName = owner.packageName; return true; }
Example 14
Source File: AnchorBottomSheetBehavior.java From anchor-bottom-sheet-behavior with Apache License 2.0 | 5 votes |
/** * Default constructor for inflating AnchorBottomSheetBehaviors from layout. * * @param context The {@link Context}. * @param attrs The {@link AttributeSet}. */ public AnchorBottomSheetBehavior(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, android.support.design.R.styleable.BottomSheetBehavior_Layout); TypedValue value = a.peekValue(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); if (value != null && value.data == PEEK_HEIGHT_AUTO) { setPeekHeight(value.data); } else { setPeekHeight(a.getDimensionPixelSize( android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); } setHideable(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); setSkipCollapsed(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, false)); setSkipAnchored(a.getBoolean(R.styleable.AnchorBottomSheetBehavior_Layout_behavior_skipAnchored, false)); a.recycle(); a = context.obtainStyledAttributes(attrs, R.styleable.AnchorBottomSheetBehavior_Layout); mAnchorOffset = (int) a.getDimension(R.styleable.AnchorBottomSheetBehavior_Layout_behavior_anchorOffset, 0); //noinspection WrongConstant mState = a.getInt(R.styleable.AnchorBottomSheetBehavior_Layout_behavior_defaultState, mState); a.recycle(); ViewConfiguration configuration = ViewConfiguration.get(context); mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); mMinimumVelocity = configuration.getScaledMinimumFlingVelocity(); }
Example 15
Source File: ResourceUtils.java From AOSP-Kayboard-7.1.2 with Apache License 2.0 | 5 votes |
public static int getDimensionPixelSize(final TypedArray a, final int index) { final TypedValue value = a.peekValue(index); if (value == null || !isDimensionValue(value)) { return ResourceUtils.UNDEFINED_DIMENSION; } return a.getDimensionPixelSize(index, ResourceUtils.UNDEFINED_DIMENSION); }
Example 16
Source File: ResourceUtils.java From simple-keyboard with Apache License 2.0 | 5 votes |
public static float getFraction(final TypedArray a, final int index, final float defValue) { final TypedValue value = a.peekValue(index); if (value == null || !isFractionValue(value)) { return defValue; } return a.getFraction(index, 1, 1, defValue); }
Example 17
Source File: PackageParser.java From AndroidComponentPlugin with Apache License 2.0 | 5 votes |
private boolean parsePackageItemInfo(Package owner, PackageItemInfo outInfo, String[] outError, String tag, TypedArray sa, int nameRes, int labelRes, int iconRes, int logoRes) { String name = sa.getNonConfigurationString(nameRes, 0); if (name == null) { outError[0] = tag + " does not specify android:name"; return false; } outInfo.name = buildClassName(owner.applicationInfo.packageName, name, outError); if (outInfo.name == null) { return false; } int iconVal = sa.getResourceId(iconRes, 0); if (iconVal != 0) { outInfo.icon = iconVal; outInfo.nonLocalizedLabel = null; } int logoVal = sa.getResourceId(logoRes, 0); if (logoVal != 0) { outInfo.logo = logoVal; } TypedValue v = sa.peekValue(labelRes); if (v != null && (outInfo.labelRes=v.resourceId) == 0) { outInfo.nonLocalizedLabel = v.coerceToString(); } outInfo.packageName = owner.packageName; return true; }
Example 18
Source File: BottomSheetBehavior.java From bottomsheetrecycler with Apache License 2.0 | 5 votes |
public BottomSheetBehavior(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BottomSheetBehavior_Layout); this.shapeThemingEnabled = a.hasValue(R.styleable.BottomSheetBehavior_Layout_shapeAppearance); boolean hasBackgroundTint = a.hasValue(R.styleable.BottomSheetBehavior_Layout_backgroundTint); if (hasBackgroundTint) { ColorStateList bottomSheetColor = MaterialResources.getColorStateList( context, a, R.styleable.BottomSheetBehavior_Layout_backgroundTint); createMaterialShapeDrawable(context, attrs, hasBackgroundTint, bottomSheetColor); } else { createMaterialShapeDrawable(context, attrs, hasBackgroundTint); } createShapeValueAnimator(); if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { this.elevation = a.getDimension(R.styleable.BottomSheetBehavior_Layout_android_elevation, -1); } TypedValue value = a.peekValue(R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); if (value != null && value.data == PEEK_HEIGHT_AUTO) { setPeekHeight(value.data); } else { setPeekHeight( a.getDimensionPixelSize( R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); } setHideable(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); setFitToContents( a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_fitToContents, true)); setSkipCollapsed( a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, false)); setSaveFlags(a.getInt(R.styleable.BottomSheetBehavior_Layout_behavior_saveFlags, SAVE_NONE)); setHalfExpandedRatio(a.getFloat(R.styleable.BottomSheetBehavior_Layout_behavior_halfExpandedRatio, 0.5f)); setExpandedOffset(a.getInt(R.styleable.BottomSheetBehavior_Layout_behavior_expandedOffset, 0)); a.recycle(); ViewConfiguration configuration = ViewConfiguration.get(context); maximumVelocity = configuration.getScaledMaximumFlingVelocity(); }
Example 19
Source File: LinearProgressDrawable.java From material with Apache License 2.0 | 4 votes |
public Builder(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes){ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.LinearProgressDrawable, defStyleAttr, defStyleRes); int resId; progressPercent(a.getFloat(R.styleable.LinearProgressDrawable_pv_progress, 0)); secondaryProgressPercent(a.getFloat(R.styleable.LinearProgressDrawable_pv_secondaryProgress, 0)); TypedValue value = a.peekValue(R.styleable.LinearProgressDrawable_lpd_maxLineWidth); if(value == null) maxLineWidth(0.75f); else if(value.type == TypedValue.TYPE_FRACTION) maxLineWidth(a.getFraction(R.styleable.LinearProgressDrawable_lpd_maxLineWidth, 1, 1, 0.75f)); else maxLineWidth(a.getDimensionPixelSize(R.styleable.LinearProgressDrawable_lpd_maxLineWidth, 0)); value = a.peekValue(R.styleable.LinearProgressDrawable_lpd_minLineWidth); if(value == null) minLineWidth(0.25f); else if(value.type == TypedValue.TYPE_FRACTION) minLineWidth(a.getFraction(R.styleable.LinearProgressDrawable_lpd_minLineWidth, 1, 1, 0.25f)); else minLineWidth(a.getDimensionPixelSize(R.styleable.LinearProgressDrawable_lpd_minLineWidth, 0)); strokeSize(a.getDimensionPixelSize(R.styleable.LinearProgressDrawable_lpd_strokeSize, ThemeUtil.dpToPx(context, 4))); verticalAlign(a.getInteger(R.styleable.LinearProgressDrawable_lpd_verticalAlign, LinearProgressDrawable.ALIGN_BOTTOM)); strokeColors(a.getColor(R.styleable.LinearProgressDrawable_lpd_strokeColor, ThemeUtil.colorPrimary(context, 0xFF000000))); if((resId = a.getResourceId(R.styleable.LinearProgressDrawable_lpd_strokeColors, 0)) != 0){ TypedArray ta = context.getResources().obtainTypedArray(resId); int[] colors = new int[ta.length()]; for(int j = 0; j < ta.length(); j++) colors[j] = ta.getColor(j, 0); ta.recycle(); strokeColors(colors); } strokeSecondaryColor(a.getColor(R.styleable.LinearProgressDrawable_lpd_strokeSecondaryColor, 0)); reverse(a.getBoolean(R.styleable.LinearProgressDrawable_lpd_reverse, false)); travelDuration(a.getInteger(R.styleable.LinearProgressDrawable_lpd_travelDuration, context.getResources().getInteger(android.R.integer.config_longAnimTime))); transformDuration(a.getInteger(R.styleable.LinearProgressDrawable_lpd_transformDuration, context.getResources().getInteger(android.R.integer.config_mediumAnimTime))); keepDuration(a.getInteger(R.styleable.LinearProgressDrawable_lpd_keepDuration, context.getResources().getInteger(android.R.integer.config_shortAnimTime))); if((resId = a.getResourceId(R.styleable.LinearProgressDrawable_lpd_transformInterpolator, 0)) != 0) transformInterpolator(AnimationUtils.loadInterpolator(context, resId)); progressMode(a.getInteger(R.styleable.LinearProgressDrawable_pv_progressMode, ProgressView.MODE_INDETERMINATE)); inAnimDuration(a.getInteger(R.styleable.LinearProgressDrawable_lpd_inAnimDuration, context.getResources().getInteger(android.R.integer.config_mediumAnimTime))); outAnimDuration(a.getInteger(R.styleable.LinearProgressDrawable_lpd_outAnimDuration, context.getResources().getInteger(android.R.integer.config_mediumAnimTime))); a.recycle(); }
Example 20
Source File: AnimatorInflater.java From android_9.0.0_r45 with Apache License 2.0 | 4 votes |
private static Keyframe loadKeyframe(Resources res, Theme theme, AttributeSet attrs, int valueType) throws XmlPullParserException, IOException { TypedArray a; if (theme != null) { a = theme.obtainStyledAttributes(attrs, R.styleable.Keyframe, 0, 0); } else { a = res.obtainAttributes(attrs, R.styleable.Keyframe); } Keyframe keyframe = null; float fraction = a.getFloat(R.styleable.Keyframe_fraction, -1); TypedValue keyframeValue = a.peekValue(R.styleable.Keyframe_value); boolean hasValue = (keyframeValue != null); if (valueType == VALUE_TYPE_UNDEFINED) { // When no value type is provided, check whether it's a color type first. // If not, fall back to default value type (i.e. float type). if (hasValue && isColorType(keyframeValue.type)) { valueType = VALUE_TYPE_COLOR; } else { valueType = VALUE_TYPE_FLOAT; } } if (hasValue) { switch (valueType) { case VALUE_TYPE_FLOAT: float value = a.getFloat(R.styleable.Keyframe_value, 0); keyframe = Keyframe.ofFloat(fraction, value); break; case VALUE_TYPE_COLOR: case VALUE_TYPE_INT: int intValue = a.getInt(R.styleable.Keyframe_value, 0); keyframe = Keyframe.ofInt(fraction, intValue); break; } } else { keyframe = (valueType == VALUE_TYPE_FLOAT) ? Keyframe.ofFloat(fraction) : Keyframe.ofInt(fraction); } final int resID = a.getResourceId(R.styleable.Keyframe_interpolator, 0); if (resID > 0) { final Interpolator interpolator = AnimationUtils.loadInterpolator(res, theme, resID); keyframe.setInterpolator(interpolator); } a.recycle(); return keyframe; }