本文整理汇总了C#中org.next方法的典型用法代码示例。如果您正苦于以下问题:C# org.next方法的具体用法?C# org.next怎么用?C# org.next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org
的用法示例。
在下文中一共展示了org.next方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
base.inflate(r, parser, attrs);
int type;
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.ClipDrawable);
int orientation = a.getInt([email protected]_clipOrientation
, HORIZONTAL);
int g = a.getInt([email protected]_gravity, android.view.Gravity
.LEFT);
android.graphics.drawable.Drawable dr = a.getDrawable([email protected]
.ClipDrawable_drawable);
a.recycle();
int outerDepth = parser.getDepth();
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
(type != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser.getDepth() > outerDepth
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
if (dr == null)
{
throw new System.ArgumentException("No drawable specified for <clip>");
}
mClipState.mDrawable = dr;
mClipState.mOrientation = orientation;
mClipState.mGravity = g;
dr.setCallback(this);
}
示例2: skipCurrentTag
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
public static void skipCurrentTag(org.xmlpull.v1.XmlPullParser parser)
{
int outerDepth = parser.getDepth();
int type;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
(type != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser.getDepth() > outerDepth
))
{
}
}
示例3: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
int type;
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.InsetDrawable);
base.inflateWithAttributes(r, parser, a, [email protected]_visible
);
int drawableRes = a.getResourceId([email protected]_drawable
, 0);
int inLeft = a.getDimensionPixelOffset([email protected]_insetLeft
, 0);
int inTop = a.getDimensionPixelOffset([email protected]_insetTop
, 0);
int inRight = a.getDimensionPixelOffset([email protected]_insetRight
, 0);
int inBottom = a.getDimensionPixelOffset([email protected]_insetBottom
, 0);
a.recycle();
android.graphics.drawable.Drawable dr;
if (drawableRes != 0)
{
dr = r.getDrawable(drawableRes);
}
else
{
while ((type = parser.next()) == org.xmlpull.v1.XmlPullParserClass.TEXT)
{
}
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new org.xmlpull.v1.XmlPullParserException(parser.getPositionDescription() +
": <inset> tag requires a 'drawable' attribute or " + "child tag defining a drawable"
);
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
if (dr == null)
{
android.util.Log.w("drawable", "No drawable specified for <inset>");
}
mInsetState.mDrawable = dr;
mInsetState.mInsetLeft = inLeft;
mInsetState.mInsetRight = inRight;
mInsetState.mInsetTop = inTop;
mInsetState.mInsetBottom = inBottom;
if (dr != null)
{
dr.setCallback(this);
}
}
示例4: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
android.graphics.drawable.GradientDrawable.GradientState st = mGradientState;
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.GradientDrawable);
base.inflateWithAttributes(r, parser, a, [email protected]_visible
);
int shapeType = a.getInt([email protected]_shape, RECTANGLE
);
bool dither = a.getBoolean([email protected]_dither,
false);
if (shapeType == RING)
{
st.mInnerRadius = a.getDimensionPixelSize([email protected]_innerRadius
, -1);
if (st.mInnerRadius == -1)
{
st.mInnerRadiusRatio = a.getFloat([email protected]_innerRadiusRatio
, 3.0f);
}
st.mThickness = a.getDimensionPixelSize([email protected]_thickness
, -1);
if (st.mThickness == -1)
{
st.mThicknessRatio = a.getFloat([email protected]_thicknessRatio
, 9.0f);
}
st.mUseLevelForShape = a.getBoolean([email protected].R.styleable.GradientDrawable_useLevel
, true);
}
a.recycle();
setShape(shapeType);
setDither(dither);
int type;
int innerDepth = parser.getDepth() + 1;
int depth;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
((depth = parser.getDepth()) >= innerDepth || type != org.xmlpull.v1.XmlPullParserClass.END_TAG
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
if (depth > innerDepth)
{
continue;
}
string name = parser.getName();
if (name.Equals("size"))
{
a = r.obtainAttributes(attrs, [email protected]);
int width = a.getDimensionPixelSize([email protected]_width
, -1);
int height = a.getDimensionPixelSize([email protected]_height
, -1);
a.recycle();
setSize(width, height);
}
else
{
if (name.Equals("gradient"))
{
a = r.obtainAttributes(attrs, [email protected]
);
int startColor = a.getColor([email protected]_startColor
, 0);
bool hasCenterColor = a.hasValue([email protected]_centerColor
);
int centerColor = a.getColor([email protected]_centerColor
, 0);
int endColor = a.getColor([email protected]_endColor
, 0);
int gradientType = a.getInt([email protected]_type
, LINEAR_GRADIENT);
st.mCenterX = getFloatOrFraction(a, [email protected]_centerX
, 0.5f);
st.mCenterY = getFloatOrFraction(a, [email protected]_centerY
, 0.5f);
st.mUseLevel = a.getBoolean([email protected]_useLevel
, false);
st.mGradient = gradientType;
if (gradientType == LINEAR_GRADIENT)
{
int angle = (int)a.getFloat([email protected]_angle
, 0);
angle %= 360;
if (angle % 45 != 0)
{
throw new org.xmlpull.v1.XmlPullParserException(a.getPositionDescription() + "<gradient> tag requires 'angle' attribute to "
+ "be a multiple of 45");
}
switch (angle)
{
case 0:
{
st.mOrientation = android.graphics.drawable.GradientDrawable.Orientation.LEFT_RIGHT;
break;
}
//.........这里部分代码省略.........
示例5: parseRequestFocus
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
private void parseRequestFocus(org.xmlpull.v1.XmlPullParser parser, android.view.View
parent)
{
int type;
parent.requestFocus();
int currentDepth = parser.getDepth();
while (((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser
.getDepth() > currentDepth) && type != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT
)
{
}
}
示例6: inflate
/// <summary>Inflate a new view hierarchy from the specified XML node.</summary>
/// <remarks>
/// Inflate a new view hierarchy from the specified XML node. Throws
/// <see cref="InflateException">InflateException</see>
/// if there is an error.
/// <p>
/// <em><strong>Important</strong></em> For performance
/// reasons, view inflation relies heavily on pre-processing of XML files
/// that is done at build time. Therefore, it is not currently possible to
/// use LayoutInflater with an XmlPullParser over a plain XML file at runtime.
/// </remarks>
/// <param name="parser">
/// XML dom node containing the description of the view
/// hierarchy.
/// </param>
/// <param name="root">
/// Optional view to be the parent of the generated hierarchy (if
/// <em>attachToRoot</em> is true), or else simply an object that
/// provides a set of LayoutParams values for root of the returned
/// hierarchy (if <em>attachToRoot</em> is false.)
/// </param>
/// <param name="attachToRoot">
/// Whether the inflated hierarchy should be attached to
/// the root parameter? If false, root is only used to create the
/// correct subclass of LayoutParams for the root view in the XML.
/// </param>
/// <returns>
/// The root View of the inflated hierarchy. If root was supplied and
/// attachToRoot is true, this is root; otherwise it is the root of
/// the inflated XML file.
/// </returns>
public virtual android.view.View inflate(org.xmlpull.v1.XmlPullParser parser, android.view.ViewGroup
root, bool attachToRoot)
{
lock (mConstructorArgs)
{
android.util.AttributeSet attrs = android.util.Xml.asAttributeSet(parser);
android.content.Context lastContext = (android.content.Context)mConstructorArgs[0
];
mConstructorArgs[0] = mContext;
android.view.View result = root;
try
{
// Look for the root node.
int type;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.START_TAG && type
!= org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT)
{
}
// Empty
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new android.view.InflateException(parser.getPositionDescription() + ": No start tag found!"
);
}
string name = parser.getName();
if (TAG_MERGE.Equals(name))
{
if (root == null || !attachToRoot)
{
throw new android.view.InflateException("<merge /> can be used only with a valid "
+ "ViewGroup root and attachToRoot=true");
}
rInflate(parser, root, attrs, false);
}
else
{
// Temp is the root view that was found in the xml
android.view.View temp;
if (TAG_1995.Equals(name))
{
temp = new android.view.LayoutInflater.BlinkLayout(mContext, attrs);
}
else
{
temp = createViewFromTag(root, name, attrs);
}
android.view.ViewGroup.LayoutParams @params = null;
if (root != null)
{
// Create layout params that match root, if supplied
@params = root.generateLayoutParams(attrs);
if (!attachToRoot)
{
// Set the layout params for temp if we are not
// attaching. (If we are, we use addView, below)
temp.setLayoutParams(@params);
}
}
// Inflate all children under temp
rInflate(parser, temp, attrs, true);
// We are supposed to attach all the views we found (int temp)
// to root. Do that now.
if (root != null && attachToRoot)
{
root.addView(temp, @params);
}
// Decide whether to return the root that was passed in or the
// top view found in xml.
if (root == null || !attachToRoot)
//.........这里部分代码省略.........
示例7: createInterpolatorFromXml
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
private static android.view.animation.Interpolator createInterpolatorFromXml(android.content.Context
c, org.xmlpull.v1.XmlPullParser parser)
{
android.view.animation.Interpolator interpolator = null;
// Make sure we are on a start tag.
int type;
int depth = parser.getDepth();
while (((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser
.getDepth() > depth) && type != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT)
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
android.util.AttributeSet attrs = android.util.Xml.asAttributeSet(parser);
string name = parser.getName();
if (name.Equals("linearInterpolator"))
{
interpolator = new android.view.animation.LinearInterpolator(c, attrs);
}
else
{
if (name.Equals("accelerateInterpolator"))
{
interpolator = new android.view.animation.AccelerateInterpolator(c, attrs);
}
else
{
if (name.Equals("decelerateInterpolator"))
{
interpolator = new android.view.animation.DecelerateInterpolator(c, attrs);
}
else
{
if (name.Equals("accelerateDecelerateInterpolator"))
{
interpolator = new android.view.animation.AccelerateDecelerateInterpolator(c, attrs
);
}
else
{
if (name.Equals("cycleInterpolator"))
{
interpolator = new android.view.animation.CycleInterpolator(c, attrs);
}
else
{
if (name.Equals("anticipateInterpolator"))
{
interpolator = new android.view.animation.AnticipateInterpolator(c, attrs);
}
else
{
if (name.Equals("overshootInterpolator"))
{
interpolator = new android.view.animation.OvershootInterpolator(c, attrs);
}
else
{
if (name.Equals("anticipateOvershootInterpolator"))
{
interpolator = new android.view.animation.AnticipateOvershootInterpolator(c, attrs
);
}
else
{
if (name.Equals("bounceInterpolator"))
{
interpolator = new android.view.animation.BounceInterpolator(c, attrs);
}
else
{
throw new java.lang.RuntimeException("Unknown interpolator name: " + parser.getName
());
}
}
}
}
}
}
}
}
}
}
return interpolator;
}
示例8: readThisValueXml
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
private static object readThisValueXml(org.xmlpull.v1.XmlPullParser parser, string
[] name)
{
string valueName = parser.getAttributeValue(null, "name");
string tagName = parser.getName();
//System.out.println("Reading this value tag: " + tagName + ", name=" + valueName);
object res;
if (tagName.Equals("null"))
{
res = null;
}
else
{
if (tagName.Equals("string"))
{
string value = string.Empty;
int eventType;
while ((eventType = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT
)
{
if (eventType == org.xmlpull.v1.XmlPullParserClass.END_TAG)
{
if (parser.getName().Equals("string"))
{
name[0] = valueName;
//System.out.println("Returning value for " + valueName + ": " + value);
return value;
}
throw new org.xmlpull.v1.XmlPullParserException("Unexpected end tag in <string>: "
+ parser.getName());
}
else
{
if (eventType == org.xmlpull.v1.XmlPullParserClass.TEXT)
{
value += parser.getText();
}
else
{
if (eventType == org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new org.xmlpull.v1.XmlPullParserException("Unexpected start tag in <string>: "
+ parser.getName());
}
}
}
}
throw new org.xmlpull.v1.XmlPullParserException("Unexpected end of document in <string>"
);
}
else
{
if (tagName.Equals("int"))
{
res = System.Convert.ToInt32(parser.getAttributeValue(null, "value"));
}
else
{
if (tagName.Equals("long"))
{
res = long.Parse(parser.getAttributeValue(null, "value"));
}
else
{
if (tagName.Equals("float"))
{
res = System.Convert.ToSingle(parser.getAttributeValue(null, "value"));
}
else
{
if (tagName.Equals("double"))
{
res = System.Convert.ToDouble(parser.getAttributeValue(null, "value"));
}
else
{
if (tagName.Equals("boolean"))
{
res = bool.Parse(parser.getAttributeValue(null, "value"));
}
else
{
if (tagName.Equals("int-array"))
{
parser.next();
res = readThisIntArrayXml(parser, "int-array", name);
name[0] = valueName;
//System.out.println("Returning value for " + valueName + ": " + res);
return res;
}
else
{
if (tagName.Equals("map"))
{
parser.next();
res = readThisMapXml(parser, "map", name);
name[0] = valueName;
//System.out.println("Returning value for " + valueName + ": " + res);
//.........这里部分代码省略.........
示例9: readThisIntArrayXml
/// <summary>Read an int[] object from an XmlPullParser.</summary>
/// <remarks>
/// Read an int[] object from an XmlPullParser. The XML data could
/// previously have been generated by writeIntArrayXml(). The XmlPullParser
/// must be positioned <em>after</em> the tag that begins the list.
/// </remarks>
/// <param name="parser">The XmlPullParser from which to read the list data.</param>
/// <param name="endTag">Name of the tag that will end the list, usually "list".</param>
/// <param name="name">
/// An array of one string, used to return the name attribute
/// of the list's tag.
/// </param>
/// <returns>Returns a newly generated int[].</returns>
/// <seealso cref="readListXml(java.io.InputStream)">readListXml(java.io.InputStream)
/// </seealso>
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
public static int[] readThisIntArrayXml(org.xmlpull.v1.XmlPullParser parser, string
endTag, string[] name)
{
int num;
try
{
num = System.Convert.ToInt32(parser.getAttributeValue(null, "num"));
}
catch (System.ArgumentNullException)
{
throw new org.xmlpull.v1.XmlPullParserException("Need num attribute in byte-array"
);
}
catch (System.ArgumentException)
{
throw new org.xmlpull.v1.XmlPullParserException("Not a number in num attribute in byte-array"
);
}
int[] array = new int[num];
int i = 0;
int eventType = parser.getEventType();
do
{
if (eventType == org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
if (parser.getName().Equals("item"))
{
try
{
array[i] = System.Convert.ToInt32(parser.getAttributeValue(null, "value"));
}
catch (System.ArgumentNullException)
{
throw new org.xmlpull.v1.XmlPullParserException("Need value attribute in item");
}
catch (System.ArgumentException)
{
throw new org.xmlpull.v1.XmlPullParserException("Not a number in value attribute in item"
);
}
}
else
{
throw new org.xmlpull.v1.XmlPullParserException("Expected item tag at: " + parser
.getName());
}
}
else
{
if (eventType == org.xmlpull.v1.XmlPullParserClass.END_TAG)
{
if (parser.getName().Equals(endTag))
{
return array;
}
else
{
if (parser.getName().Equals("item"))
{
i++;
}
else
{
throw new org.xmlpull.v1.XmlPullParserException("Expected " + endTag + " end tag at: "
+ parser.getName());
}
}
}
}
eventType = parser.next();
}
while (eventType != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT);
throw new org.xmlpull.v1.XmlPullParserException("Document ended before " + endTag
+ " end tag");
}
示例10: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
base.inflate(r, parser, attrs);
int type;
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.ScaleDrawable);
float sw = getPercent(a, [email protected]_scaleWidth);
float sh = getPercent(a, [email protected]_scaleHeight);
int g = a.getInt([email protected]_scaleGravity, android.view.Gravity
.LEFT);
bool min = a.getBoolean([email protected]_useIntrinsicSizeAsMinimum
, false);
android.graphics.drawable.Drawable dr = a.getDrawable([email protected]
.ScaleDrawable_drawable);
a.recycle();
int outerDepth = parser.getDepth();
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
(type != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser.getDepth() > outerDepth
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
if (dr == null)
{
throw new System.ArgumentException("No drawable specified for <scale>");
}
mScaleState.mDrawable = dr;
mScaleState.mScaleWidth = sw;
mScaleState.mScaleHeight = sh;
mScaleState.mGravity = g;
mScaleState.mUseIntrinsicSizeAsMin = min;
if (dr != null)
{
dr.setCallback(this);
}
}
示例11: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
base.inflate(r, parser, attrs);
int type;
int innerDepth = parser.getDepth() + 1;
int depth;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
((depth = parser.getDepth()) >= innerDepth || type != org.xmlpull.v1.XmlPullParserClass.END_TAG
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
if (depth > innerDepth || !parser.getName().Equals("item"))
{
continue;
}
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.MipmapDrawableItem);
int drawableRes = a.getResourceId([email protected]_drawable
, 0);
a.recycle();
android.graphics.drawable.Drawable dr;
if (drawableRes != 0)
{
dr = r.getDrawable(drawableRes);
}
else
{
while ((type = parser.next()) == org.xmlpull.v1.XmlPullParserClass.TEXT)
{
}
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new org.xmlpull.v1.XmlPullParserException(parser.getPositionDescription() +
": <item> tag requires a 'drawable' attribute or " + "child tag defining a drawable"
);
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
mMipmapContainerState.addDrawable(dr);
}
onDrawableAdded();
}
示例12: createAnimatorFromXml
/// <exception cref="org.xmlpull.v1.XmlPullParserException"></exception>
/// <exception cref="System.IO.IOException"></exception>
private static android.animation.Animator createAnimatorFromXml(android.content.Context
c, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs, android.animation.AnimatorSet
parent, int sequenceOrdering)
{
android.animation.Animator anim = null;
java.util.ArrayList<android.animation.Animator> childAnims = null;
// Make sure we are on a start tag.
int type;
int depth = parser.getDepth();
while (((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser
.getDepth() > depth) && type != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT)
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
string name = parser.getName();
if (name.Equals("objectAnimator"))
{
anim = loadObjectAnimator(c, attrs);
}
else
{
if (name.Equals("animator"))
{
anim = loadAnimator(c, attrs, null);
}
else
{
if (name.Equals("set"))
{
anim = new android.animation.AnimatorSet();
android.content.res.TypedArray a = c.obtainStyledAttributes(attrs, [email protected]
.styleable.AnimatorSet);
int ordering = a.getInt([email protected]_ordering, TOGETHER
);
createAnimatorFromXml(c, parser, attrs, (android.animation.AnimatorSet)anim, ordering
);
a.recycle();
}
else
{
throw new java.lang.RuntimeException("Unknown animator name: " + parser.getName()
);
}
}
}
if (parent != null)
{
if (childAnims == null)
{
childAnims = new java.util.ArrayList<android.animation.Animator>();
}
childAnims.add(anim);
}
}
if (parent != null && childAnims != null)
{
android.animation.Animator[] animsArray = new android.animation.Animator[childAnims
.size()];
int index = 0;
foreach (android.animation.Animator a in Sharpen.IterableProxy.Create(childAnims))
{
animsArray[index++] = a;
}
if (sequenceOrdering == TOGETHER)
{
parent.playTogether(animsArray);
}
else
{
parent.playSequentially(animsArray);
}
}
return anim;
}
示例13: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.StateListDrawable);
base.inflateWithAttributes(r, parser, a, [email protected]_visible
);
mStateListState.setVariablePadding(a.getBoolean([email protected]_variablePadding
, false));
mStateListState.setConstantSize(a.getBoolean([email protected]_constantSize
, false));
mStateListState.setEnterFadeDuration(a.getInt([email protected]_enterFadeDuration
, 0));
mStateListState.setExitFadeDuration(a.getInt([email protected]_exitFadeDuration
, 0));
setDither(a.getBoolean([email protected]_dither, DEFAULT_DITHER
));
a.recycle();
int type;
int innerDepth = parser.getDepth() + 1;
int depth;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
((depth = parser.getDepth()) >= innerDepth || type != org.xmlpull.v1.XmlPullParserClass.END_TAG
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
if (depth > innerDepth || !parser.getName().Equals("item"))
{
continue;
}
int drawableRes = 0;
int i;
int j = 0;
int numAttrs = attrs.getAttributeCount();
int[] states = new int[numAttrs];
for (i = 0; i < numAttrs; i++)
{
int stateResId = attrs.getAttributeNameResource(i);
if (stateResId == 0)
{
break;
}
if (stateResId == [email protected])
{
drawableRes = attrs.getAttributeResourceValue(i, 0);
}
else
{
states[j++] = attrs.getAttributeBooleanValue(i, false) ? stateResId : -stateResId;
}
}
states = android.util.StateSet.trimStateSet(states, j);
android.graphics.drawable.Drawable dr;
if (drawableRes != 0)
{
dr = r.getDrawable(drawableRes);
}
else
{
while ((type = parser.next()) == org.xmlpull.v1.XmlPullParserClass.TEXT)
{
}
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new org.xmlpull.v1.XmlPullParserException(parser.getPositionDescription() +
": <item> tag requires a 'drawable' attribute or " + "child tag defining a drawable"
);
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
mStateListState.addStateSet(states, dr);
}
onStateChange(getState());
}
示例14: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.RotateDrawable);
base.inflateWithAttributes(r, parser, a, [email protected]_visible
);
android.util.TypedValue tv = a.peekValue([email protected]_pivotX
);
bool pivotXRel;
float pivotX;
if (tv == null)
{
pivotXRel = true;
pivotX = 0.5f;
}
else
{
pivotXRel = tv.type == android.util.TypedValue.TYPE_FRACTION;
pivotX = pivotXRel ? tv.getFraction(1.0f, 1.0f) : tv.getFloat();
}
tv = a.peekValue([email protected]_pivotY);
bool pivotYRel;
float pivotY;
if (tv == null)
{
pivotYRel = true;
pivotY = 0.5f;
}
else
{
pivotYRel = tv.type == android.util.TypedValue.TYPE_FRACTION;
pivotY = pivotYRel ? tv.getFraction(1.0f, 1.0f) : tv.getFloat();
}
float fromDegrees = a.getFloat([email protected]_fromDegrees
, 0.0f);
float toDegrees = a.getFloat([email protected]_toDegrees
, 360.0f);
int res = a.getResourceId([email protected]_drawable,
0);
android.graphics.drawable.Drawable drawable = null;
if (res > 0)
{
drawable = r.getDrawable(res);
}
a.recycle();
int outerDepth = parser.getDepth();
int type;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
(type != org.xmlpull.v1.XmlPullParserClass.END_TAG || parser.getDepth() > outerDepth
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
if ((drawable = android.graphics.drawable.Drawable.createFromXmlInner(r, parser,
attrs)) == null)
{
android.util.Log.w("drawable", "Bad element under <rotate>: " + parser.getName());
}
}
if (drawable == null)
{
android.util.Log.w("drawable", "No drawable specified for <rotate>");
}
mState.mDrawable = drawable;
mState.mPivotXRel = pivotXRel;
mState.mPivotX = pivotX;
mState.mPivotYRel = pivotYRel;
mState.mPivotY = pivotY;
mState.mFromDegrees = mState.mCurrentDegrees = fromDegrees;
mState.mToDegrees = toDegrees;
if (drawable != null)
{
drawable.setCallback(this);
}
}
示例15: inflate
public override void inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser
parser, android.util.AttributeSet attrs)
{
android.content.res.TypedArray a = r.obtainAttributes(attrs, [email protected]
styleable.AnimationDrawable);
base.inflateWithAttributes(r, parser, a, [email protected]_visible
);
mAnimationState.setVariablePadding(a.getBoolean([email protected]_variablePadding
, false));
mAnimationState.mOneShot = a.getBoolean([email protected]_oneshot
, false);
a.recycle();
int type;
int innerDepth = parser.getDepth() + 1;
int depth;
while ((type = parser.next()) != org.xmlpull.v1.XmlPullParserClass.END_DOCUMENT &&
((depth = parser.getDepth()) >= innerDepth || type != org.xmlpull.v1.XmlPullParserClass.END_TAG
))
{
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
continue;
}
if (depth > innerDepth || !parser.getName().Equals("item"))
{
continue;
}
a = r.obtainAttributes(attrs, [email protected]
);
int duration = a.getInt([email protected]_duration
, -1);
if (duration < 0)
{
throw new org.xmlpull.v1.XmlPullParserException(parser.getPositionDescription() +
": <item> tag requires a 'duration' attribute");
}
int drawableRes = a.getResourceId([email protected]_drawable
, 0);
a.recycle();
android.graphics.drawable.Drawable dr;
if (drawableRes != 0)
{
dr = r.getDrawable(drawableRes);
}
else
{
while ((type = parser.next()) == org.xmlpull.v1.XmlPullParserClass.TEXT)
{
}
// Empty
if (type != org.xmlpull.v1.XmlPullParserClass.START_TAG)
{
throw new org.xmlpull.v1.XmlPullParserException(parser.getPositionDescription() +
": <item> tag requires a 'drawable' attribute or child tag" + " defining a drawable"
);
}
dr = android.graphics.drawable.Drawable.createFromXmlInner(r, parser, attrs);
}
mAnimationState.addFrame(dr, duration);
if (dr != null)
{
dr.setCallback(this);
}
}
setFrame(0, true, false);
}