com.mikepenz.materialdrawer.util.DrawerUIUtils Java Examples
The following examples show how to use
com.mikepenz.materialdrawer.util.DrawerUIUtils.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BaseDrawerItem.java From MaterialDrawer-Xamarin with Apache License 2.0 | 5 votes |
/** * helper to get the ColorStateList for the text and remembering it so we do not have to recreate it all the time * * @param color * @param selectedTextColor * @return */ protected ColorStateList getTextColorStateList(@ColorInt int color, @ColorInt int selectedTextColor) { if (colorStateList == null || color + selectedTextColor != colorStateList.first) { colorStateList = new Pair<>(color + selectedTextColor, DrawerUIUtils.getTextColorStateList(color, selectedTextColor)); } return colorStateList.second; }
Example #2
Source File: AccountHeaderBuilder.java From MaterialDrawer-Xamarin with Apache License 2.0 | 5 votes |
/** * small helper method to set an profile image or a placeholder * * @param iv * @param imageHolder */ private void setImageOrPlaceholder(ImageView iv, ImageHolder imageHolder) { //cancel previous started image loading processes DrawerImageLoader.getInstance().cancelImage(iv); //set the placeholder iv.setImageDrawable(DrawerUIUtils.getPlaceHolder(iv.getContext())); //set the real image (probably also the uri) ImageHolder.applyTo(imageHolder, iv, DrawerImageLoader.Tags.PROFILE.name()); }
Example #3
Source File: DrawerUtils.java From MaterialDrawer-Xamarin with Apache License 2.0 | 5 votes |
/** * helper method to fill the sticky footer with it's elements * * @param drawer * @param container * @param onClickListener */ public static void fillStickyDrawerItemFooter(DrawerBuilder drawer, ViewGroup container, View.OnClickListener onClickListener) { //add all drawer items for (IDrawerItem drawerItem : drawer.mStickyDrawerItems) { //get the selected_color int selected_color = UIUtils.getThemeColorFromAttrOrRes(container.getContext(), R.attr.material_drawer_selected, R.color.material_drawer_selected); if (drawerItem instanceof PrimaryDrawerItem) { selected_color = ColorHolder.color(((PrimaryDrawerItem) drawerItem).getSelectedColor(), container.getContext(), R.attr.material_drawer_selected, R.color.material_drawer_selected); } else if (drawerItem instanceof SecondaryDrawerItem) { selected_color = ColorHolder.color(((SecondaryDrawerItem) drawerItem).getSelectedColor(), container.getContext(), R.attr.material_drawer_selected, R.color.material_drawer_selected); } View view = drawerItem.generateView(container.getContext(), container); view.setTag(drawerItem); if (drawerItem.isEnabled()) { UIUtils.setBackground(view, DrawerUIUtils.getSelectableBackground(container.getContext(), selected_color)); view.setOnClickListener(onClickListener); } container.addView(view); //for android API 17 --> Padding not applied via xml DrawerUIUtils.setDrawerVerticalPadding(view); } //and really. don't ask about this. it won't set the padding if i don't set the padding for the container container.setPadding(0, 0, 0, 0); }
Example #4
Source File: DrawerUtils.java From MaterialDrawer-Xamarin with Apache License 2.0 | 5 votes |
/** * helper to extend the layoutParams of the drawer * * @param params * @return */ public static DrawerLayout.LayoutParams processDrawerLayoutParams(DrawerBuilder drawer, DrawerLayout.LayoutParams params) { if (params != null) { if (drawer.mDrawerGravity != null && (drawer.mDrawerGravity == Gravity.RIGHT || drawer.mDrawerGravity == Gravity.END)) { params.rightMargin = 0; if (Build.VERSION.SDK_INT >= 17) { params.setMarginEnd(0); } params.leftMargin = drawer.mActivity.getResources().getDimensionPixelSize(R.dimen.material_drawer_margin); if (Build.VERSION.SDK_INT >= 17) { params.setMarginEnd(drawer.mActivity.getResources().getDimensionPixelSize(R.dimen.material_drawer_margin)); } } if (drawer.mDisplayBelowStatusBar != null && drawer.mDisplayBelowStatusBar && Build.VERSION.SDK_INT >= 19) { params.topMargin = UIUtils.getStatusBarHeight(drawer.mActivity, true); } if (drawer.mDrawerWidth > -1) { params.width = drawer.mDrawerWidth; } else { params.width = DrawerUIUtils.getOptimalDrawerWidth(drawer.mActivity); } } return params; }
Example #5
Source File: BaseSecondaryDrawerItem.java From MaterialDrawer-Xamarin with Apache License 2.0 | 4 votes |
/** * a helper method to have the logic for all secondaryDrawerItems only once * * @param viewHolder */ protected void bindViewHelper(BaseViewHolder viewHolder) { Context ctx = viewHolder.itemView.getContext(); //set the identifier from the drawerItem here. It can be used to run tests viewHolder.itemView.setId(getIdentifier()); //set the item selected if it is viewHolder.itemView.setSelected(isSelected()); //get the correct color for the background int selectedColor = getSelectedColor(ctx); //get the correct color for the text int color = getColor(ctx); int selectedTextColor = getSelectedTextColor(ctx); //get the correct color for the icon int iconColor = getIconColor(ctx); int selectedIconColor = getSelectedIconColor(ctx); //set the background for the item UIUtils.setBackground(viewHolder.view, DrawerUIUtils.getSelectableBackground(ctx, selectedColor)); //set the text for the name StringHolder.applyTo(this.getName(), viewHolder.name); //set the text for the description or hide StringHolder.applyToOrHide(this.getDescription(), viewHolder.description); //set the colors for textViews viewHolder.name.setTextColor(getTextColorStateList(color, selectedTextColor)); //set the description text color ColorHolder.applyToOr(getDescriptionTextColor(), viewHolder.description, getTextColorStateList(getColor(ctx), getSelectedColor(ctx))); //define the typeface for our textViews if (getTypeface() != null) { viewHolder.name.setTypeface(getTypeface()); viewHolder.description.setTypeface(getTypeface()); } //get the drawables for our icon and set it Drawable icon = ImageHolder.decideIcon(getIcon(), ctx, iconColor, isIconTinted(), 1); Drawable selectedIcon = ImageHolder.decideIcon(getSelectedIcon(), ctx, selectedIconColor, isIconTinted(), 1); ImageHolder.applyMultiIconTo(icon, iconColor, selectedIcon, selectedIconColor, isIconTinted(), viewHolder.icon); //for android API 17 --> Padding not applied via xml DrawerUIUtils.setDrawerVerticalPadding(viewHolder.view, level); }
Example #6
Source File: MiniDrawerItem.java From MaterialDrawer-Xamarin with Apache License 2.0 | 4 votes |
@Override public void bindView(RecyclerView.ViewHolder holder) { Context ctx = holder.itemView.getContext(); //get our viewHolder ViewHolder viewHolder = (ViewHolder) holder; //set the identifier from the drawerItem here. It can be used to run tests viewHolder.itemView.setId(getIdentifier()); //set the item selected if it is viewHolder.itemView.setSelected(isSelected()); // viewHolder.itemView.setTag(this); //get the correct color for the icon int iconColor = getIconColor(ctx); int selectedIconColor = getSelectedIconColor(ctx); if (mEnableSelectedBackground) { //get the correct color for the background int selectedColor = getSelectedColor(ctx); //set the background for the item UIUtils.setBackground(viewHolder.view, DrawerUIUtils.getSelectableBackground(ctx, selectedColor)); } //set the text for the badge or hide boolean badgeVisible = StringHolder.applyToOrHide(mBadge, viewHolder.badge); //style the badge if it is visible if (badgeVisible) { mBadgeStyle.style(viewHolder.badge); } //get the drawables for our icon and set it Drawable icon = ImageHolder.decideIcon(getIcon(), ctx, iconColor, isIconTinted(), 1); Drawable selectedIcon = ImageHolder.decideIcon(getSelectedIcon(), ctx, selectedIconColor, isIconTinted(), 1); ImageHolder.applyMultiIconTo(icon, iconColor, selectedIcon, selectedIconColor, isIconTinted(), viewHolder.icon); //for android API 17 --> Padding not applied via xml int verticalPadding = ctx.getResources().getDimensionPixelSize(R.dimen.material_drawer_padding); int topBottomPadding = ctx.getResources().getDimensionPixelSize(R.dimen.material_mini_drawer_item_padding); viewHolder.itemView.setPadding(verticalPadding, topBottomPadding, verticalPadding, topBottomPadding); //call the onPostBindView method to trigger post bind view actions (like the listener to modify the item if required) onPostBindView(this, holder.itemView); }
Example #7
Source File: BasePrimaryDrawerItem.java From MaterialDrawer-Xamarin with Apache License 2.0 | 4 votes |
/** * a helper method to have the logic for all secondaryDrawerItems only once * * @param viewHolder */ protected void bindViewHelper(BaseViewHolder viewHolder) { Context ctx = viewHolder.itemView.getContext(); //set the identifier from the drawerItem here. It can be used to run tests viewHolder.itemView.setId(getIdentifier()); //set the item selected if it is viewHolder.itemView.setSelected(isSelected()); // viewHolder.itemView.setTag(this); //get the correct color for the background int selectedColor = getSelectedColor(ctx); //get the correct color for the text int color = getColor(ctx); int selectedTextColor = getSelectedTextColor(ctx); //get the correct color for the icon int iconColor = getIconColor(ctx); int selectedIconColor = getSelectedIconColor(ctx); //set the background for the item UIUtils.setBackground(viewHolder.view, DrawerUIUtils.getSelectableBackground(ctx, selectedColor)); //set the text for the name StringHolder.applyTo(this.getName(), viewHolder.name); //set the text for the description or hide StringHolder.applyToOrHide(this.getDescription(), viewHolder.description); //set the colors for textViews viewHolder.name.setTextColor(getTextColorStateList(color, selectedTextColor)); //set the description text color ColorHolder.applyToOr(getDescriptionTextColor(), viewHolder.description, getTextColorStateList(color, selectedTextColor)); //define the typeface for our textViews if (getTypeface() != null) { viewHolder.name.setTypeface(getTypeface()); viewHolder.description.setTypeface(getTypeface()); } //get the drawables for our icon and set it Drawable icon = ImageHolder.decideIcon(getIcon(), ctx, iconColor, isIconTinted(), 1); Drawable selectedIcon = ImageHolder.decideIcon(getSelectedIcon(), ctx, selectedIconColor, isIconTinted(), 1); ImageHolder.applyMultiIconTo(icon, iconColor, selectedIcon, selectedIconColor, isIconTinted(), viewHolder.icon); //for android API 17 --> Padding not applied via xml DrawerUIUtils.setDrawerVerticalPadding(viewHolder.view, level); }