Example usage for android.content.res Resources getDimensionPixelSize

List of usage examples for android.content.res Resources getDimensionPixelSize

Introduction

In this page you can find the example usage for android.content.res Resources getDimensionPixelSize.

Prototype

public int getDimensionPixelSize(@DimenRes int id) throws NotFoundException 

Source Link

Document

Retrieve a dimensional for a particular resource ID for use as a size in raw pixels.

Usage

From source file:com.android.inputmethod.latin.suggestions.SuggestionStripLayoutHelper.java

public SuggestionStripLayoutHelper(final Context context, final AttributeSet attrs, final int defStyle,
        final ArrayList<TextView> wordViews, final ArrayList<View> dividerViews,
        final ArrayList<TextView> debugInfoViews) {
    mWordViews = wordViews;//from  w  w  w.  j  a  v a  2s  .  c  om
    mDividerViews = dividerViews;
    mDebugInfoViews = debugInfoViews;

    final TextView wordView = wordViews.get(0);
    final View dividerView = dividerViews.get(0);
    mPadding = wordView.getCompoundPaddingLeft() + wordView.getCompoundPaddingRight();
    dividerView.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    mDividerWidth = dividerView.getMeasuredWidth();

    final Resources res = wordView.getResources();
    mSuggestionsStripHeight = res.getDimensionPixelSize(R.dimen.config_suggestions_strip_height);

    final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SuggestionStripView, defStyle,
            R.style.SuggestionStripView);
    mSuggestionStripOptions = a.getInt(R.styleable.SuggestionStripView_suggestionStripOptions, 0);
    mAlphaObsoleted = ResourceUtils.getFraction(a, R.styleable.SuggestionStripView_alphaObsoleted, 1.0f);
    mColorValidTypedWord = a.getColor(R.styleable.SuggestionStripView_colorValidTypedWord, 0);
    mColorTypedWord = a.getColor(R.styleable.SuggestionStripView_colorTypedWord, 0);
    mColorAutoCorrect = a.getColor(R.styleable.SuggestionStripView_colorAutoCorrect, 0);
    mColorSuggested = a.getColor(R.styleable.SuggestionStripView_colorSuggested, 0);
    mSuggestionsCountInStrip = a.getInt(R.styleable.SuggestionStripView_suggestionsCountInStrip,
            DEFAULT_SUGGESTIONS_COUNT_IN_STRIP);
    mCenterSuggestionWeight = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_centerSuggestionPercentile, DEFAULT_CENTER_SUGGESTION_PERCENTILE);
    mMaxMoreSuggestionsRow = a.getInt(R.styleable.SuggestionStripView_maxMoreSuggestionsRow,
            DEFAULT_MAX_MORE_SUGGESTIONS_ROW);
    mMinMoreSuggestionsWidth = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_minMoreSuggestionsWidth, 1.0f);
    a.recycle();

    mMoreSuggestionsHint = getMoreSuggestionsHint(res,
            res.getDimension(R.dimen.config_more_suggestions_hint_text_size), mColorAutoCorrect);
    mCenterPositionInStrip = mSuggestionsCountInStrip / 2;
    // Assuming there are at least three suggestions. Also, note that the suggestions are
    // laid out according to script direction, so this is left of the center for LTR scripts
    // and right of the center for RTL scripts.
    mTypedWordPositionWhenAutocorrect = mCenterPositionInStrip - 1;
    mMoreSuggestionsBottomGap = res.getDimensionPixelOffset(R.dimen.config_more_suggestions_bottom_gap);
    mMoreSuggestionsRowHeight = res.getDimensionPixelSize(R.dimen.config_more_suggestions_row_height);
}

From source file:me.lizheng.deckview.helpers.DeckViewConfig.java

/**
 * Updates the state, given the specified context
 *///from   w w w.  j  a  va  2  s .  co  m
void update(Context context) {
    Resources res = context.getResources();
    DisplayMetrics dm = res.getDisplayMetrics();

    // Debug mode
    debugModeEnabled = false;

    // Layout
    isLandscape = res.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;

    // Insets
    displayRect.set(0, 0, dm.widthPixels, dm.heightPixels);

    // Animations
    animationPxMovementPerSecond = res.getDimensionPixelSize(R.dimen.animation_movement_in_dps_per_second);

    // Filtering
    filteringCurrentViewsAnimDuration = res.getInteger(R.integer.filter_animate_current_views_duration);
    filteringNewViewsAnimDuration = res.getInteger(R.integer.filter_animate_new_views_duration);

    // Task stack
    taskStackScrollDuration = res.getInteger(R.integer.animate_deck_scroll_duration);
    TypedValue widthPaddingPctValue = new TypedValue();
    res.getValue(R.dimen.deck_width_padding_percentage, widthPaddingPctValue, true);
    taskStackWidthPaddingPct = widthPaddingPctValue.getFloat();
    TypedValue stackOverscrollPctValue = new TypedValue();
    res.getValue(R.dimen.deck_overscroll_percentage, stackOverscrollPctValue, true);
    taskStackOverscrollPct = stackOverscrollPctValue.getFloat();
    taskStackMaxDim = res.getInteger(R.integer.max_deck_view_dim);
    taskStackTopPaddingPx = res.getDimensionPixelSize(R.dimen.deck_top_padding);

    // Transition
    transitionEnterFromAppDelay = res.getInteger(R.integer.enter_from_app_transition_duration);
    transitionEnterFromHomeDelay = res.getInteger(R.integer.enter_from_home_transition_duration);

    // Task view animation and styles
    taskViewEnterFromAppDuration = res.getInteger(R.integer.task_enter_from_app_duration);
    taskViewEnterFromHomeDuration = res.getInteger(R.integer.task_enter_from_home_duration);
    taskViewEnterFromHomeStaggerDelay = res.getInteger(R.integer.task_enter_from_home_stagger_delay);
    taskViewExitToAppDuration = res.getInteger(R.integer.task_exit_to_app_duration);
    taskViewExitToHomeDuration = res.getInteger(R.integer.task_exit_to_home_duration);
    taskViewRemoveAnimDuration = res.getInteger(R.integer.animate_task_view_remove_duration);
    taskViewRemoveAnimTranslationXPx = res.getDimensionPixelSize(R.dimen.task_view_remove_anim_translation_x);
    taskViewRoundedCornerRadiusPx = res.getDimensionPixelSize(R.dimen.task_view_rounded_corners_radius);
    taskViewHighlightPx = res.getDimensionPixelSize(R.dimen.task_view_highlight);
    taskViewTranslationZMinPx = res.getDimensionPixelSize(R.dimen.task_view_z_min);
    taskViewTranslationZMaxPx = res.getDimensionPixelSize(R.dimen.task_view_z_max);
    taskViewAffiliateGroupEnterOffsetPx = res
            .getDimensionPixelSize(R.dimen.task_view_affiliate_group_enter_offset);
    TypedValue thumbnailAlphaValue = new TypedValue();
    res.getValue(R.dimen.task_view_thumbnail_alpha, thumbnailAlphaValue, true);
    taskViewThumbnailAlpha = thumbnailAlphaValue.getFloat();

    // Task bar colors
    taskBarViewDefaultBackgroundColor = ContextCompat.getColor(context,
            R.color.task_bar_default_background_color);

    taskBarViewLightTextColor = ContextCompat.getColor(context, R.color.task_bar_light_text_color);

    taskBarViewDarkTextColor = ContextCompat.getColor(context, R.color.task_bar_dark_text_color);

    taskBarViewHighlightColor = ContextCompat.getColor(context, R.color.task_bar_highlight_color);

    TypedValue affMinAlphaPctValue = new TypedValue();
    res.getValue(R.dimen.task_affiliation_color_min_alpha_percentage, affMinAlphaPctValue, true);
    taskBarViewAffiliationColorMinAlpha = affMinAlphaPctValue.getFloat();

    // Task bar size & animations
    taskBarHeight = res.getDimensionPixelSize(R.dimen.deck_child_header_bar_height);
    taskBarDismissDozeDelaySeconds = res.getInteger(R.integer.task_bar_dismiss_delay_seconds);

    // Nav bar scrim
    navBarScrimEnterDuration = res.getInteger(R.integer.nav_bar_scrim_enter_duration);

    // Misc
    useHardwareLayers = res.getBoolean(R.bool.config_use_hardware_layers);
    altTabKeyDelay = res.getInteger(R.integer.deck_alt_tab_key_delay);
    fakeShadows = res.getBoolean(R.bool.config_fake_shadows);
    svelteLevel = res.getInteger(R.integer.deck_svelte_level);
}

From source file:ch.berta.fabio.fabprogress.FabProgress.java

/**
 * We are using private resources here in order to get the fab size. This is hacky but the
 * alternative would be that the user needs to specify the fab size two times in the XML.
 * TODO: only needed as long as we support api <21, because of the space the shadow drawable takes up
 *
 * @param context      the context to obtain the style attributes
 * @param attrs        the attribute set
 * @param defStyleAttr the style attr/*ww w  .  jav  a 2  s. co  m*/
 */
@SuppressLint("PrivateResource")
private void setFakeShadowPadding(@NonNull Context context, @NonNull AttributeSet attrs, int defStyleAttr) {
    TypedArray attrFab = context.obtainStyledAttributes(attrs, R.styleable.FloatingActionButton, defStyleAttr,
            0);
    try {
        final Resources res = getResources();
        int size = attrFab.getInt(R.styleable.FloatingActionButton_fabSize, SIZE_NORMAL);
        if (size == SIZE_MINI) {
            mFabSize = res.getDimensionPixelSize(R.dimen.fp_fab_size_mini);
        } else {
            mFabSize = res.getDimensionPixelSize(R.dimen.fp_fab_size_normal);
        }
    } finally {
        attrFab.recycle();
    }

    final int maxContentSize = (int) getResources().getDimension(R.dimen.fp_fab_content_size);
    final int contentPadding = (mFabSize - maxContentSize) / 2;
    mShadowPadding.left = getPaddingLeft() - contentPadding;
    mShadowPadding.top = getPaddingTop() - contentPadding;
    mShadowPadding.right = getPaddingEnd() - contentPadding;
    mShadowPadding.bottom = getPaddingBottom() - contentPadding;
}

From source file:com.android.deskclock.stopwatch.StopwatchFragment.java

/**
 * Show or hide the list of laps./*from   w w w.  j av a2 s. c o m*/
 */
private void showOrHideLaps(boolean clearLaps) {
    final ViewGroup sceneRoot = (ViewGroup) getView();
    if (sceneRoot == null) {
        return;
    }

    TransitionManager.beginDelayedTransition(sceneRoot);

    if (clearLaps) {
        mLapsAdapter.clearLaps();
    }

    final boolean lapsVisible = mLapsAdapter.getItemCount() > 0;
    mLapsList.setVisibility(lapsVisible ? VISIBLE : GONE);

    if (Utils.isPortrait(getActivity())) {
        // When the lap list is visible, it includes the bottom padding. When it is absent the
        // appropriate bottom padding must be applied to the container.
        final Resources res = getResources();
        final int bottom = lapsVisible ? 0 : res.getDimensionPixelSize(R.dimen.fab_height);
        final int top = sceneRoot.getPaddingTop();
        final int left = sceneRoot.getPaddingLeft();
        final int right = sceneRoot.getPaddingRight();
        sceneRoot.setPadding(left, top, right, bottom);
    }
}

From source file:com.udmurtlyk.extrainputmethod.latin.suggestions.SuggestionStripLayoutHelper.java

public SuggestionStripLayoutHelper(final Context context, final AttributeSet attrs, final int defStyle,
        final ArrayList<TextView> wordViews, final ArrayList<View> dividerViews,
        final ArrayList<TextView> debugInfoViews) {
    mWordViews = wordViews;// w  ww.j ava  2  s.  c om
    mDividerViews = dividerViews;
    mDebugInfoViews = debugInfoViews;

    final TextView wordView = wordViews.get(0);
    final View dividerView = dividerViews.get(0);
    mPadding = wordView.getCompoundPaddingLeft() + wordView.getCompoundPaddingRight();
    dividerView.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    mDividerWidth = dividerView.getMeasuredWidth();

    final Resources res = wordView.getResources();
    mSuggestionsStripHeight = res.getDimensionPixelSize(R.dimen.config_suggestions_strip_height);

    final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SuggestionStripView, defStyle,
            R.style.SuggestionStripView);
    mSuggestionStripOptions = a.getInt(R.styleable.SuggestionStripView_suggestionStripOptions, 0);
    mAlphaObsoleted = ResourceUtils.getFraction(a, R.styleable.SuggestionStripView_alphaObsoleted, 1.0f);
    mColorValidTypedWord = a.getColor(R.styleable.SuggestionStripView_colorValidTypedWord, 0);
    mColorTypedWord = a.getColor(R.styleable.SuggestionStripView_colorTypedWord, 0);
    mColorAutoCorrect = a.getColor(R.styleable.SuggestionStripView_colorAutoCorrect, 0);
    mColorSuggested = a.getColor(R.styleable.SuggestionStripView_colorSuggested, 0);
    mColorShortcut = a.getColor(R.styleable.SuggestionStripView_colorShortcut, 0);
    mSuggestionsCountInStrip = a.getInt(R.styleable.SuggestionStripView_suggestionsCountInStrip,
            DEFAULT_SUGGESTIONS_COUNT_IN_STRIP);
    mCenterSuggestionWeight = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_centerSuggestionPercentile, DEFAULT_CENTER_SUGGESTION_PERCENTILE);
    mMaxMoreSuggestionsRow = a.getInt(R.styleable.SuggestionStripView_maxMoreSuggestionsRow,
            DEFAULT_MAX_MORE_SUGGESTIONS_ROW);
    mMinMoreSuggestionsWidth = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_minMoreSuggestionsWidth, 1.0f);
    a.recycle();

    mMoreSuggestionsHint = getMoreSuggestionsHint(res,
            res.getDimension(R.dimen.config_more_suggestions_hint_text_size), mColorAutoCorrect);
    mCenterPositionInStrip = mSuggestionsCountInStrip / 2;
    // Assuming there are at least three suggestions. Also, note that the suggestions are
    // laid out according to script direction, so this is left of the center for LTR scripts
    // and right of the center for RTL scripts.
    mTypedWordPositionWhenAutocorrect = mCenterPositionInStrip - 1;
    mMoreSuggestionsBottomGap = res.getDimensionPixelOffset(R.dimen.config_more_suggestions_bottom_gap);
    mMoreSuggestionsRowHeight = res.getDimensionPixelSize(R.dimen.config_more_suggestions_row_height);
}

From source file:com.syncedsynapse.kore2.ui.AlbumDetailsFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    albumId = getArguments().getInt(ALBUMID, -1);

    if ((container == null) || (albumId == -1)) {
        // We're not being shown or there's nothing to show
        return null;
    }//from  ww w .j av a 2s  .c  o  m

    ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment_album_details, container, false);
    ButterKnife.inject(this, root);

    bus = EventBus.getDefault();
    hostManager = HostManager.getInstance(getActivity());
    hostInfo = hostManager.getHostInfo();

    // Setup dim the fanart when scroll changes. Full dim on 4 * iconSize dp
    Resources resources = getActivity().getResources();
    final int pixelsToTransparent = 4 * resources.getDimensionPixelSize(R.dimen.default_icon_size);
    mediaPanel.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
        @Override
        public void onScrollChanged() {
            float y = mediaPanel.getScrollY();
            float newAlpha = Math.min(1, Math.max(0, 1 - (y / pixelsToTransparent)));
            mediaArt.setAlpha(newAlpha);
        }
    });

    FloatingActionButton fab = (FloatingActionButton) fabButton;
    fab.attachToScrollView((ObservableScrollView) mediaPanel);

    // Pad main content view to overlap with bottom system bar
    //        UIUtils.setPaddingForSystemBars(getActivity(), mediaPanel, false, false, true);
    //        mediaPanel.setClipToPadding(false);

    return root;
}

From source file:com.mobiletin.inputmethod.indic.suggestions.SuggestionStripLayoutHelper.java

public SuggestionStripLayoutHelper(final Context context, final AttributeSet attrs, final int defStyle,
        final ArrayList<TextView> wordViews, final ArrayList<View> dividerViews,
        final ArrayList<TextView> debugInfoViews) {

    mWordViews = wordViews;/*from   ww w  . j  a va2s.c om*/
    mDividerViews = dividerViews;
    mDebugInfoViews = debugInfoViews;
    final TextView wordView = wordViews.get(0);
    final View dividerView = dividerViews.get(0);
    mPadding = wordView.getCompoundPaddingLeft() + wordView.getCompoundPaddingRight();
    dividerView.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    mDividerWidth = dividerView.getMeasuredWidth();

    final Resources res = wordView.getResources();
    mSuggestionsStripHeight = res.getDimensionPixelSize(R.dimen.config_suggestions_strip_height);

    final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SuggestionStripView, defStyle,
            R.style.SuggestionStripView);
    mSuggestionStripOptions = a.getInt(R.styleable.SuggestionStripView_suggestionStripOptions, 0);
    mAlphaObsoleted = ResourceUtils.getFraction(a, R.styleable.SuggestionStripView_alphaObsoleted, 1.0f);
    mColorValidTypedWord = a.getColor(R.styleable.SuggestionStripView_colorValidTypedWord, 0);
    mColorTypedWord = a.getColor(R.styleable.SuggestionStripView_colorTypedWord, 0);
    mColorAutoCorrect = a.getColor(R.styleable.SuggestionStripView_colorAutoCorrect, 0);
    mColorSuggested = a.getColor(R.styleable.SuggestionStripView_colorSuggested, 0);
    mSuggestionsCountInStrip = a.getInt(R.styleable.SuggestionStripView_suggestionsCountInStrip,
            DEFAULT_SUGGESTIONS_COUNT_IN_STRIP);
    mCenterSuggestionWeight = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_centerSuggestionPercentile, DEFAULT_CENTER_SUGGESTION_PERCENTILE);
    mMaxMoreSuggestionsRow = a.getInt(R.styleable.SuggestionStripView_maxMoreSuggestionsRow,
            DEFAULT_MAX_MORE_SUGGESTIONS_ROW);
    mMinMoreSuggestionsWidth = ResourceUtils.getFraction(a,
            R.styleable.SuggestionStripView_minMoreSuggestionsWidth, 1.0f);
    a.recycle();

    mMoreSuggestionsHint = getMoreSuggestionsHint(res,
            res.getDimension(R.dimen.config_more_suggestions_hint_text_size), mColorAutoCorrect);
    mCenterPositionInStrip = mSuggestionsCountInStrip / 2;
    // Assuming there are at least three suggestions. Also, note that the suggestions are
    // laid out according to script direction, so this is left of the center for LTR scripts
    // and right of the center for RTL scripts.
    mTypedWordPositionWhenAutocorrect = mCenterPositionInStrip - 1;
    mMoreSuggestionsBottomGap = res.getDimensionPixelOffset(R.dimen.config_more_suggestions_bottom_gap);
    mMoreSuggestionsRowHeight = res.getDimensionPixelSize(R.dimen.config_more_suggestions_row_height);
}

From source file:cn.wyx.android.swipeback.swipe.SwipeBackLayout.java

private int getNavigationBarHeight() {
    Resources resources = getResources();
    int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
    //?NavigationBar
    return resources.getDimensionPixelSize(resourceId);
}

From source file:com.android.inputmethod.keyboard.emoji.EmojiPalettesView.java

@Override
protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    final Resources res = getContext().getResources();
    // The main keyboard expands to the entire this {@link KeyboardView}.
    final int width = ResourceUtils.getDefaultKeyboardWidth(res) + getPaddingLeft() + getPaddingRight();
    final int height = ResourceUtils.getDefaultKeyboardHeight(res)
            + res.getDimensionPixelSize(R.dimen.config_suggestions_strip_height) + getPaddingTop()
            + getPaddingBottom();/*w  w  w . j ava 2  s.  c o m*/
    setMeasuredDimension(width, height);
}

From source file:com.wanderingcan.persistentsearch.PersistentSearchView.java

@SuppressWarnings("deprecation")
private void initialize(Context context, AttributeSet attrs, int defStyleAttr) {
    mNavIcon = new ImageButton(context);
    mEndIcon = new ImageButton(context);
    mSearchText = new EditText(context);
    mSearchMenuView = new SearchMenuView(context);
    mDivider = new View(context);
    mDivider.setVisibility(GONE);/*  w  w w. j  a v a  2 s. c  o m*/

    mPresenter = new SearchMenuPresenter(context, new SearchMenuListener());

    mSearchMenuView.setAdapter(mPresenter.mAdapter);
    mSearchMenuView.addItemDecoration(new DividerItemDecoration(context, attrs));

    int[] attr = { android.R.attr.listDivider };
    TypedArray ta = context.obtainStyledAttributes(attr);
    Drawable divider = ta.getDrawable(0);
    ta.recycle();

    mOpened = false;
    mShowClearDrawable = false;
    mShowMenu = true;

    //Set up CardView
    setUseCompatPadding(true);
    setFocusable(true);
    setFocusableInTouchMode(true);

    //Set up TextView
    if (Build.VERSION.SDK_INT >= 16) {
        mSearchText.setBackground(null);
        mNavIcon.setBackground(null);
        mEndIcon.setBackground(null);
        mDivider.setBackground(divider);
    } else {
        mSearchText.setBackgroundDrawable(null);
        mNavIcon.setBackgroundDrawable(null);
        mEndIcon.setBackgroundDrawable(null);
        mDivider.setBackgroundDrawable(divider);
    }
    mSearchText.setSingleLine();
    mHintVisible = false;
    mSearchText.setOnFocusChangeListener(new SearchFocusListener());
    mSearchText.setOnEditorActionListener(new EditTextEditorAction());
    mSearchText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
    mSearchText.addTextChangedListener(new EditTextTextWatcher());

    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PersistentSearchView, defStyleAttr, 0);
    Drawable drawable = a.getDrawable(R.styleable.PersistentSearchView_navSrc);
    setNavigationDrawable(drawable);
    mNavIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
    mNavIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mIconListener != null) {
                mIconListener.OnNavigationIconClick();
            }
        }
    });

    drawable = a.getDrawable(R.styleable.PersistentSearchView_endSrc);
    setEndDrawable(drawable);
    mClearDrawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_action_cancel);
    mEndIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
    mEndIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mShowClearDrawable) {
                //Clears the text
                mSearchText.setText(EMPTY);
            } else {
                if (mIconListener != null) {
                    mIconListener.OnEndIconClick();
                }
            }
        }
    });

    mHint = a.getText(R.styleable.PersistentSearchView_hint);
    mHintAlwaysVisible = a.getBoolean(R.styleable.PersistentSearchView_hintAlwaysActive, false);
    if (mHintAlwaysVisible) {
        mSearchText.setHint(mHint);
    }
    a.recycle();

    Resources res = context.getResources();
    int imageDimen = res.getDimensionPixelSize(R.dimen.persistent_search_view_image_dimen);
    mImageMargin = res.getDimensionPixelSize(R.dimen.persistent_search_view_image_side_margin);
    int imageTopMargin = res.getDimensionPixelSize(R.dimen.persistent_search_view_image_top_margin);

    //Sets all of the locations of the views
    CardView.LayoutParams lpNav = generateDefaultLayoutParams();
    lpNav.width = lpNav.height = imageDimen;

    CardView.LayoutParams lpEnd = (LayoutParams) generateLayoutParams(lpNav);

    lpNav.gravity = Gravity.START;
    lpEnd.gravity = Gravity.END;

    if (Build.VERSION.SDK_INT >= 17) {
        mNavIcon.setPaddingRelative(mImageMargin, imageTopMargin, mImageMargin / 2, imageTopMargin);
        mEndIcon.setPaddingRelative(mImageMargin / 2, imageTopMargin, mImageMargin, imageTopMargin);
    } else {
        mNavIcon.setPadding(mImageMargin, imageTopMargin, mImageMargin / 2, imageTopMargin);
        mEndIcon.setPadding(mImageMargin / 2, imageTopMargin, mImageMargin, imageTopMargin);
    }

    CardView.LayoutParams lpText = generateDefaultLayoutParams();
    lpText.gravity = Gravity.TOP;
    lpText.height = lpNav.topMargin + lpNav.height;
    mTextMargin = res.getDimensionPixelSize(R.dimen.persistent_search_view_text_margin);
    if (Build.VERSION.SDK_INT >= 17) {
        lpText.setMarginStart(mTextMargin);
        lpText.setMarginEnd(mTextMargin);
    } else {
        lpText.leftMargin = lpText.rightMargin = mTextMargin;
    }
    lpText = setupSearchTextMargin(lpText);

    CardView.LayoutParams lpMenu = generateDefaultLayoutParams();
    lpMenu.topMargin = lpNav.topMargin + lpNav.height;
    lpMenu.height = RecyclerView.LayoutParams.WRAP_CONTENT;

    CardView.LayoutParams lpDivider = generateDefaultLayoutParams();
    if (divider != null) {
        lpDivider.height = divider.getIntrinsicHeight();
    }
    lpDivider.topMargin = lpNav.topMargin + lpNav.height;

    //Adds the views to the PersistentSearchView
    addView(mNavIcon, lpNav);
    addView(mEndIcon, lpEnd);
    addView(mSearchText, lpText);
    addView(mSearchMenuView, lpMenu);
    addView(mDivider, lpDivider);
}