Example #1
0
        /// <summary>
        /// @brief
        /// </summary>
        /// <param name="view"> </param>
        /// <param name="duration"> </param>
        /// <param name="dx"> </param>
        /// <param name="dy">
        /// @return </param>
        public virtual Animator createScaleAnimator(View view, long duration, float dx, float dy)
        {
            Animator scaleX = ObjectAnimator.ofFloat(view, View.SCALE_X, 1.0f, 1.0f - dx);
            Animator scaleY = ObjectAnimator.ofFloat(view, View.SCALE_Y, 1.0f, 1.0f - dy);

            scaleX.Interpolator = new CycleInterpolator(1.0f);
            scaleY.Interpolator = new CycleInterpolator(1.0f);

            AnimatorSet animator = new AnimatorSet();

            animator.Duration = duration;
            animator.playTogether(scaleX, scaleY);

            return(animator);
        }
		/// <summary>
		/// @brief
		/// </summary>
		/// <param name="view"> </param>
		/// <param name="duration"> </param>
		/// <param name="dx"> </param>
		/// <param name="dy">
		/// @return </param>
		public virtual Animator createScaleAnimator(View view, long duration, float dx, float dy)
		{
			Animator scaleX = ObjectAnimator.ofFloat(view, View.SCALE_X, 1.0f, 1.0f - dx);
			Animator scaleY = ObjectAnimator.ofFloat(view, View.SCALE_Y, 1.0f, 1.0f - dy);
			scaleX.Interpolator = new CycleInterpolator(1.0f);
			scaleY.Interpolator = new CycleInterpolator(1.0f);

			AnimatorSet animator = new AnimatorSet();
			animator.Duration = duration;
			animator.playTogether(scaleX, scaleY);

			return animator;
		}
Example #3
0
        /// <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);
        }
Example #4
0
		/// <summary>Create a new number picker</summary>
		/// <param name="context">the application environment.</param>
		/// <param name="attrs">a collection of attributes.</param>
		/// <param name="defStyle">The default style to apply to this view.</param>
		public NumberPicker(android.content.Context context, android.util.AttributeSet attrs
			, int defStyle) : base(context, attrs, defStyle)
		{
			android.content.res.TypedArray attributesArray = context.obtainStyledAttributes(attrs
				, [email protected], defStyle, 0);
			mSolidColor = attributesArray.getColor([email protected]_solidColor
				, 0);
			mFlingable = attributesArray.getBoolean([email protected]_flingable
				, true);
			mSelectionDivider = attributesArray.getDrawable([email protected]_selectionDivider
				);
			int defSelectionDividerHeight = (int)android.util.TypedValue.applyDimension(android.util.TypedValue
				.COMPLEX_UNIT_DIP, UNSCALED_DEFAULT_SELECTION_DIVIDER_HEIGHT, getResources().getDisplayMetrics
				());
			mSelectionDividerHeight = attributesArray.getDimensionPixelSize([email protected]
				.styleable.NumberPicker_selectionDividerHeight, defSelectionDividerHeight);
			attributesArray.recycle();
			mShowInputControlsAnimimationDuration = getResources().getInteger([email protected]
				.integer.config_longAnimTime);
			setWillNotDraw(false);
			setSelectorWheelState(SELECTOR_WHEEL_STATE_NONE);
			android.view.LayoutInflater inflater = (android.view.LayoutInflater)getContext().
				getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
			inflater.inflate([email protected]_picker, this, true);
			android.view.View.OnClickListener onClickListener = new _OnClickListener_537(this
				);
			android.view.View.OnLongClickListener onLongClickListener = new _OnLongClickListener_552
				(this);
			mIncrementButton = (android.widget.ImageButton)findViewById([email protected]
				.increment);
			mIncrementButton.setOnClickListener(onClickListener);
			mIncrementButton.setOnLongClickListener(onLongClickListener);
			mDecrementButton = (android.widget.ImageButton)findViewById([email protected]
				.decrement);
			mDecrementButton.setOnClickListener(onClickListener);
			mDecrementButton.setOnLongClickListener(onLongClickListener);
			mInputText = (android.widget.EditText)findViewById([email protected]_input
				);
			mInputText.setOnFocusChangeListener(new _OnFocusChangeListener_576(this));
			mInputText.setFilters(new android.text.InputFilter[] { new android.widget.NumberPicker
				.InputTextFilter(this) });
			mInputText.setRawInputType(android.text.InputTypeClass.TYPE_CLASS_NUMBER);
			mTouchSlop = android.view.ViewConfiguration.getTapTimeout();
			android.view.ViewConfiguration configuration = android.view.ViewConfiguration.get
				(context);
			mTouchSlop = configuration.getScaledTouchSlop();
			mMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
			mMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity() / SELECTOR_MAX_FLING_VELOCITY_ADJUSTMENT;
			mTextSize = (int)mInputText.getTextSize();
			android.graphics.Paint paint = new android.graphics.Paint();
			paint.setAntiAlias(true);
			paint.setTextAlign(android.graphics.Paint.Align.CENTER);
			paint.setTextSize(mTextSize);
			paint.setTypeface(mInputText.getTypeface());
			android.content.res.ColorStateList colors = mInputText.getTextColors();
			int color = colors.getColorForState(ENABLED_STATE_SET, android.graphics.Color.WHITE
				);
			paint.setColor(color);
			mSelectorWheelPaint = paint;
			mDimSelectorWheelAnimator = android.animation.ObjectAnimator.ofInt(this, PROPERTY_SELECTOR_PAINT_ALPHA
				, SELECTOR_WHEEL_BRIGHT_ALPHA, SELECTOR_WHEEL_DIM_ALPHA);
			android.animation.ObjectAnimator showIncrementButton = android.animation.ObjectAnimator
				.ofFloat(mIncrementButton, PROPERTY_BUTTON_ALPHA, BUTTON_ALPHA_TRANSPARENT, BUTTON_ALPHA_OPAQUE
				);
			android.animation.ObjectAnimator showDecrementButton = android.animation.ObjectAnimator
				.ofFloat(mDecrementButton, PROPERTY_BUTTON_ALPHA, BUTTON_ALPHA_TRANSPARENT, BUTTON_ALPHA_OPAQUE
				);
			mShowInputControlsAnimator = new android.animation.AnimatorSet();
			mShowInputControlsAnimator.playTogether(mDimSelectorWheelAnimator, showIncrementButton
				, showDecrementButton);
			mShowInputControlsAnimator.addListener(new _AnimatorListenerAdapter_626(this));
			// create the fling and adjust scrollers
			mFlingScroller = new android.widget.Scroller(getContext(), null, true);
			mAdjustScroller = new android.widget.Scroller(getContext(), new android.view.animation.DecelerateInterpolator
				(2.5f));
			updateInputTextView();
			updateIncrementAndDecrementButtonsVisibilityState();
			if (mFlingable)
			{
				if (isInEditMode())
				{
					setSelectorWheelState(SELECTOR_WHEEL_STATE_SMALL);
				}
				else
				{
					// Start with shown selector wheel and hidden controls. When made
					// visible hide the selector and fade-in the controls to suggest
					// fling interaction.
					setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
					hideInputControls();
				}
			}
		}