private void parseAttributes(AttributeSet attrs) {
        if (attrs != null) {
            TypedArray a = getContext().getTheme().obtainStyledAttributes(attrs, R.styleable.ExpandableMenuOverlay, 0, 0);
            try {
                // button metrics
                mainButtonSize = a.getFloat(R.styleable.ExpandableMenuOverlay_mainButtonSize, DEFAULT_MAIN_BUTTON_SIZE);
                otherButtonSize = a.getFloat(R.styleable.ExpandableMenuOverlay_otherButtonSize, DEFAULT_OTHER_BUTTON_SIZE);
                bottomPadding = a.getFloat(R.styleable.ExpandableMenuOverlay_bottomPad, DEFAULT_BOTTOM_PADDING);
                buttonDistanceY = a.getFloat(R.styleable.ExpandableMenuOverlay_distanceY, DEFAULT_BUTTON_DISTANCE_Y);
                buttonDistanceX = a.getFloat(R.styleable.ExpandableMenuOverlay_distanceX, DEFAULT_BUTTON_DISTANCE_X);

                // button resources
                mCloseBtn.setBackgroundResource(a.getResourceId(R.styleable.ExpandableMenuOverlay_closeButtonSrc, 0));
                mLeftBtn.setBackgroundResource(a.getResourceId(R.styleable.ExpandableMenuOverlay_leftButtonSrc, 0));
                mRightBtn.setBackgroundResource(a.getResourceId(R.styleable.ExpandableMenuOverlay_rightButtonSrc, 0));
                mMidBtn.setBackgroundResource(a.getResourceId(R.styleable.ExpandableMenuOverlay_midButtonSrc, 0));

                // button text
                mLeftText.setText(a.getResourceId(R.styleable.ExpandableMenuOverlay_leftButtonText, R.string.empty));
                mRightText.setText(a.getResourceId(R.styleable.ExpandableMenuOverlay_rightButtonText, R.string.empty));
                mMidText.setText(a.getResourceId(R.styleable.ExpandableMenuOverlay_midButtonText, R.string.empty));

            } finally {
                a.recycle();
            }
        }
    }
private void parseAttributes ( AttributeSet attrs ) { if ( attrs != null ) { TypedArray a = getContext ( ) . getTheme ( ) . obtainStyledAttributes ( attrs , R . styleable . ExpandableMenuOverlay , 0 , 0 ) ; try { mainButtonSize = a . getFloat ( R . styleable . ExpandableMenuOverlay_mainButtonSize , DEFAULT_MAIN_BUTTON_SIZE ) ; otherButtonSize = a . getFloat ( R . styleable . ExpandableMenuOverlay_otherButtonSize , DEFAULT_OTHER_BUTTON_SIZE ) ; bottomPadding = a . getFloat ( R . styleable . ExpandableMenuOverlay_bottomPad , DEFAULT_BOTTOM_PADDING ) ; buttonDistanceY = a . getFloat ( R . styleable . ExpandableMenuOverlay_distanceY , DEFAULT_BUTTON_DISTANCE_Y ) ; buttonDistanceX = a . getFloat ( R . styleable . ExpandableMenuOverlay_distanceX , DEFAULT_BUTTON_DISTANCE_X ) ; mCloseBtn . setBackgroundResource ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_closeButtonSrc , 0 ) ) ; mLeftBtn . setBackgroundResource ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_leftButtonSrc , 0 ) ) ; mRightBtn . setBackgroundResource ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_rightButtonSrc , 0 ) ) ; mMidBtn . setBackgroundResource ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_midButtonSrc , 0 ) ) ; mLeftText . setText ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_leftButtonText , R . string . empty ) ) ; mRightText . setText ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_rightButtonText , R . string . empty ) ) ; mMidText . setText ( a . getResourceId ( R . styleable . ExpandableMenuOverlay_midButtonText , R . string . empty ) ) ; } finally { a . recycle ( ) ; } } }
Parses custom XML attributes

@param attrs