Loading graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +49 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,55 @@ import java.util.ArrayList; * android:valueType="pathType"/> * </set> * </pre></li> * <p> * Since AAPT tool is now supporting a new format which can bundle several related XML files into * one, we can merge the previous example into one XML file, like this: * </p> * <pre> * <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" > * <aapt:attr name="android:drawable"> * <vector * android:height="64dp" * android:width="64dp" * android:viewportHeight="600" * android:viewportWidth="600" > * <group * android:name="rotationGroup" * android:pivotX="300.0" * android:pivotY="300.0" * android:rotation="45.0" > * <path * android:name="v" * android:fillColor="#000000" * android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> * </group> * </vector> * </aapt:attr> * * <target android:name="rotationGroup"> * * <aapt:attr name="android:animation"> * <objectAnimator * android:duration="6000" * android:propertyName="rotation" * android:valueFrom="0" * android:valueTo="360" /> * </aapt:attr> * </target> * * <target android:name="v" > * <aapt:attr name="android:animation"> * <set> * <objectAnimator * android:duration="3000" * android:propertyName="pathData" * android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z" * android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z" * android:valueType="pathType"/> * </set> * </aapt:attr> * </target> * </animated-vector> * </pre> * * @attr ref android.R.styleable#AnimatedVectorDrawable_drawable * @attr ref android.R.styleable#AnimatedVectorDrawableTarget_name Loading graphics/java/android/graphics/drawable/VectorDrawable.java +32 −8 Original line number Diff line number Diff line Loading @@ -27,9 +27,9 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Insets; import android.graphics.PixelFormat; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.PorterDuff.Mode; import android.graphics.Shader; import android.util.ArrayMap; import android.util.AttributeSet; Loading Loading @@ -140,12 +140,16 @@ import dalvik.system.VMRuntime; * in the SVG's path data. This is defined in the viewport space.</dd> * <dt><code>android:fillColor</code></dt> * <dd>Specifies the color used to fill the path. May be a color or, for SDK 24+, a color state list * or a gradient color. If this property is animated, any value set by the animation will * override the original value. No path fill is drawn if this property is not specified.</dd> * or a gradient color (See {@link android.R.styleable#GradientColor} * and {@link android.R.styleable#GradientColorItem}). * If this property is animated, any value set by the animation will override the original value. * No path fill is drawn if this property is not specified.</dd> * <dt><code>android:strokeColor</code></dt> * <dd>Specifies the color used to draw the path outline. May be a color or, for SDK 24+, a color * state list or a gradient color. If this property is animated, any value set by the animation will * override the original value. No path outline is drawn if this property is not specified.</dd> * state list or a gradient color (See {@link android.R.styleable#GradientColor} * and {@link android.R.styleable#GradientColorItem}). * If this property is animated, any value set by the animation will override the original value. * No path outline is drawn if this property is not specified.</dd> * <dt><code>android:strokeWidth</code></dt> * <dd>The width a path stroke.</dd> * <dt><code>android:strokeAlpha</code></dt> Loading @@ -166,8 +170,9 @@ import dalvik.system.VMRuntime; * <dt><code>android:strokeMiterLimit</code></dt> * <dd>Sets the Miter limit for a stroked path.</dd> * <dt><code>android:fillType</code></dt> * <dd>Sets the fillType for a path. It is the same as SVG's "fill-rule" properties. * For more details, see https://www.w3.org/TR/SVG/painting.html#FillRuleProperty</dd> * <dd>Sets the fillType for a path. The types can be either "evenOdd" or "nonZero". They behave the * same as SVG's "fill-rule" properties. For more details, see * <a href="https://www.w3.org/TR/SVG/painting.html#FillRuleProperty">FillRuleProperty</a></dd> * </dl></dd> * </dl> * Loading Loading @@ -201,7 +206,26 @@ import dalvik.system.VMRuntime; * android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> * </group> * </vector> * </pre></li> * </pre> * </li> * <li>And here is an example of linear gradient color, which is supported in SDK 24+. * See more details in {@link android.R.styleable#GradientColor} and * {@link android.R.styleable#GradientColorItem}. * <pre> * <gradient xmlns:android="http://schemas.android.com/apk/res/android" * android:angle="90" * android:startColor="?android:attr/colorPrimary" * android:endColor="?android:attr/colorControlActivated" * android:centerColor="#f00" * android:startX="0" * android:startY="0" * android:endX="100" * android:endY="100" * android:type="linear"> * </gradient> * </pre> * </li> * */ public class VectorDrawable extends Drawable { Loading Loading
graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +49 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,55 @@ import java.util.ArrayList; * android:valueType="pathType"/> * </set> * </pre></li> * <p> * Since AAPT tool is now supporting a new format which can bundle several related XML files into * one, we can merge the previous example into one XML file, like this: * </p> * <pre> * <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" > * <aapt:attr name="android:drawable"> * <vector * android:height="64dp" * android:width="64dp" * android:viewportHeight="600" * android:viewportWidth="600" > * <group * android:name="rotationGroup" * android:pivotX="300.0" * android:pivotY="300.0" * android:rotation="45.0" > * <path * android:name="v" * android:fillColor="#000000" * android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> * </group> * </vector> * </aapt:attr> * * <target android:name="rotationGroup"> * * <aapt:attr name="android:animation"> * <objectAnimator * android:duration="6000" * android:propertyName="rotation" * android:valueFrom="0" * android:valueTo="360" /> * </aapt:attr> * </target> * * <target android:name="v" > * <aapt:attr name="android:animation"> * <set> * <objectAnimator * android:duration="3000" * android:propertyName="pathData" * android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z" * android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z" * android:valueType="pathType"/> * </set> * </aapt:attr> * </target> * </animated-vector> * </pre> * * @attr ref android.R.styleable#AnimatedVectorDrawable_drawable * @attr ref android.R.styleable#AnimatedVectorDrawableTarget_name Loading
graphics/java/android/graphics/drawable/VectorDrawable.java +32 −8 Original line number Diff line number Diff line Loading @@ -27,9 +27,9 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Insets; import android.graphics.PixelFormat; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.PorterDuff.Mode; import android.graphics.Shader; import android.util.ArrayMap; import android.util.AttributeSet; Loading Loading @@ -140,12 +140,16 @@ import dalvik.system.VMRuntime; * in the SVG's path data. This is defined in the viewport space.</dd> * <dt><code>android:fillColor</code></dt> * <dd>Specifies the color used to fill the path. May be a color or, for SDK 24+, a color state list * or a gradient color. If this property is animated, any value set by the animation will * override the original value. No path fill is drawn if this property is not specified.</dd> * or a gradient color (See {@link android.R.styleable#GradientColor} * and {@link android.R.styleable#GradientColorItem}). * If this property is animated, any value set by the animation will override the original value. * No path fill is drawn if this property is not specified.</dd> * <dt><code>android:strokeColor</code></dt> * <dd>Specifies the color used to draw the path outline. May be a color or, for SDK 24+, a color * state list or a gradient color. If this property is animated, any value set by the animation will * override the original value. No path outline is drawn if this property is not specified.</dd> * state list or a gradient color (See {@link android.R.styleable#GradientColor} * and {@link android.R.styleable#GradientColorItem}). * If this property is animated, any value set by the animation will override the original value. * No path outline is drawn if this property is not specified.</dd> * <dt><code>android:strokeWidth</code></dt> * <dd>The width a path stroke.</dd> * <dt><code>android:strokeAlpha</code></dt> Loading @@ -166,8 +170,9 @@ import dalvik.system.VMRuntime; * <dt><code>android:strokeMiterLimit</code></dt> * <dd>Sets the Miter limit for a stroked path.</dd> * <dt><code>android:fillType</code></dt> * <dd>Sets the fillType for a path. It is the same as SVG's "fill-rule" properties. * For more details, see https://www.w3.org/TR/SVG/painting.html#FillRuleProperty</dd> * <dd>Sets the fillType for a path. The types can be either "evenOdd" or "nonZero". They behave the * same as SVG's "fill-rule" properties. For more details, see * <a href="https://www.w3.org/TR/SVG/painting.html#FillRuleProperty">FillRuleProperty</a></dd> * </dl></dd> * </dl> * Loading Loading @@ -201,7 +206,26 @@ import dalvik.system.VMRuntime; * android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> * </group> * </vector> * </pre></li> * </pre> * </li> * <li>And here is an example of linear gradient color, which is supported in SDK 24+. * See more details in {@link android.R.styleable#GradientColor} and * {@link android.R.styleable#GradientColorItem}. * <pre> * <gradient xmlns:android="http://schemas.android.com/apk/res/android" * android:angle="90" * android:startColor="?android:attr/colorPrimary" * android:endColor="?android:attr/colorControlActivated" * android:centerColor="#f00" * android:startX="0" * android:startY="0" * android:endX="100" * android:endY="100" * android:type="linear"> * </gradient> * </pre> * </li> * */ public class VectorDrawable extends Drawable { Loading