package com.pan.materialdrawer.model; import android.content.Context; import android.support.annotation.LayoutRes; import android.support.v4.view.ViewCompat; import android.support.v7.widget.RecyclerView; import android.view.View; import com.pan.materialdrawer.model.utils.ViewHolderFactory; import com.mikepenz.materialize.util.UIUtils; /** * Created by mikepenz on 03.02.15. */ public class DividerDrawerItem extends AbstractDrawerItem<DividerDrawerItem> { @Override public String getType() { return "DIVIDER_ITEM"; } @Override @LayoutRes public int getLayoutRes() { return com.pan.materialdrawer.R.layout.material_drawer_item_divider; } @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 holder.itemView.setId(getIdentifier()); //define how the divider should look like viewHolder.view.setClickable(false); viewHolder.view.setEnabled(false); viewHolder.view.setMinimumHeight(1); ViewCompat.setImportantForAccessibility(viewHolder.view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO); //set the color for the divider viewHolder.divider.setBackgroundColor(UIUtils.getThemeColorFromAttrOrRes(ctx, com.pan.materialdrawer.R.attr.material_drawer_divider, com.pan.materialdrawer.R.color.material_drawer_divider)); //call the onPostBindView method to trigger post bind view actions (like the listener to modify the item if required) onPostBindView(this, holder.itemView); } @Override public ViewHolderFactory getFactory() { return new ItemFactory(); } public static class ItemFactory implements ViewHolderFactory<ViewHolder> { public ViewHolder factory(View v) { return new ViewHolder(v); } } private static class ViewHolder extends RecyclerView.ViewHolder { private View view; private View divider; private ViewHolder(View view) { super(view); this.view = view; this.divider = view.findViewById(com.pan.materialdrawer.R.id.material_drawer_divider); } } }