/// <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(); } } }