@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); if (!mInitFlag && getWidth() != 0) { mInitFlag = true; mTotalLengthInPixels = getFrameWidth(); updateSpaceSizes(mCardNumberIsViewed); int cardLeftMargin = mCardNumberIsViewed ? 0 : -1 * mPlacementParameters.hiddenCardWidth; setLayoutValues(mPlacementParameters.cardWidth, cardLeftMargin, mCardNumberEditText); int dateMargin = mCardNumberIsViewed ? mPlacementParameters.cardWidth + mPlacementParameters.cardDateSeparation : mPlacementParameters.peekCardWidth + mPlacementParameters.cardDateSeparation; setLayoutValues(mPlacementParameters.dateWidth, dateMargin, mExpiryDateEditText); int cvcMargin = mCardNumberIsViewed ? mTotalLengthInPixels : mPlacementParameters.peekCardWidth + mPlacementParameters.cardDateSeparation + mPlacementParameters.dateWidth + mPlacementParameters.dateCvcSeparation; setLayoutValues(mPlacementParameters.cvcWidth, cvcMargin, mCvcNumberEditText); } }