Allow setting the divider start margin in the chips dropdown
Change-Id: I1c25bbadb1a697e8e69fc6b881c5935bdac97a24
diff --git a/src/com/android/ex/chips/DropdownChipLayouter.java b/src/com/android/ex/chips/DropdownChipLayouter.java
index 44d9c43..170008f 100644
--- a/src/com/android/ex/chips/DropdownChipLayouter.java
+++ b/src/com/android/ex/chips/DropdownChipLayouter.java
@@ -10,6 +10,7 @@
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
+import android.support.v4.view.MarginLayoutParamsCompat;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
@@ -18,6 +19,7 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewGroup.MarginLayoutParams;
import android.widget.ImageView;
import android.widget.TextView;
@@ -45,10 +47,13 @@
private final Context mContext;
private ChipDeleteListener mDeleteListener;
private Query mQuery;
+ private int mAutocompleteDividerMarginStart;
public DropdownChipLayouter(LayoutInflater inflater, Context context) {
mInflater = inflater;
mContext = context;
+ mAutocompleteDividerMarginStart =
+ context.getResources().getDimensionPixelOffset(R.dimen.chip_wrapper_start_padding);
}
public void setQuery(Query query) {
@@ -59,6 +64,9 @@
mDeleteListener = listener;
}
+ public void setAutocompleteDividerMarginStart(int autocompleteDividerMarginStart) {
+ mAutocompleteDividerMarginStart = autocompleteDividerMarginStart;
+ }
/**
* Layouts and binds recipient information to the view. If convertView is null, inflates a new
@@ -119,6 +127,14 @@
// For BASE_RECIPIENT set all top dividers except for the first one to be GONE.
if (viewHolder.topDivider != null) {
viewHolder.topDivider.setVisibility(position == 0 ? View.VISIBLE : View.GONE);
+ MarginLayoutParamsCompat.setMarginStart(
+ (MarginLayoutParams) viewHolder.topDivider.getLayoutParams(),
+ mAutocompleteDividerMarginStart);
+ }
+ if (viewHolder.bottomDivider != null) {
+ MarginLayoutParamsCompat.setMarginStart(
+ (MarginLayoutParams) viewHolder.bottomDivider.getLayoutParams(),
+ mAutocompleteDividerMarginStart);
}
break;
case RECIPIENT_ALTERNATES:
@@ -405,6 +421,7 @@
public final ImageView imageView;
public final ImageView deleteView;
public final View topDivider;
+ public final View bottomDivider;
public ViewHolder(View view) {
displayNameView = (TextView) view.findViewById(getDisplayNameResId());
@@ -413,6 +430,7 @@
imageView = (ImageView) view.findViewById(getPhotoResId());
deleteView = (ImageView) view.findViewById(getDeleteResId());
topDivider = view.findViewById(R.id.chip_autocomplete_top_divider);
+ bottomDivider = view.findViewById(R.id.chip_autocomplete_bottom_divider);
}
}
}