Fix ShapeDrawable.inflateTag() to accept proper dimension specs for padding

ShapeDrawable.inflateTag() handles the 'padding' tag with the standard
attributes android:left, etc.  The attribute values for these standard
attributes should be dimension specifications, e.g. '4dp'.
ShapeDrawable.inflateTag() was wrongly parsing the attribute values as plain
integers.
This commit is contained in:
Phil Dubach
2009-07-08 09:43:49 -07:00
parent 0d725f7d5a
commit 90cfa9df3f

View File

@@ -278,10 +278,15 @@ public class ShapeDrawable extends Drawable {
if (name.equals("padding")) {
TypedArray a = r.obtainAttributes(attrs,
com.android.internal.R.styleable.ShapeDrawablePadding);
setPadding(a.getInt(com.android.internal.R.styleable.ShapeDrawablePadding_left, 0),
a.getInt(com.android.internal.R.styleable.ShapeDrawablePadding_top, 0),
a.getInt(com.android.internal.R.styleable.ShapeDrawablePadding_right, 0),
a.getInt(com.android.internal.R.styleable.ShapeDrawablePadding_bottom, 0));
setPadding(
a.getDimensionPixelOffset(
com.android.internal.R.styleable.ShapeDrawablePadding_left, 0),
a.getDimensionPixelOffset(
com.android.internal.R.styleable.ShapeDrawablePadding_top, 0),
a.getDimensionPixelOffset(
com.android.internal.R.styleable.ShapeDrawablePadding_right, 0),
a.getDimensionPixelOffset(
com.android.internal.R.styleable.ShapeDrawablePadding_bottom, 0));
a.recycle();
return true;
}