1
0
Эх сурвалжийг харах

More enhancements to the simple list dialog, updated sample accordingly.

Aidan Follestad 9 жил өмнө
parent
commit
cf8f5fdfae

+ 3 - 0
commons/src/main/java/com/afollestad/materialdialogs/simplelist/MaterialSimpleListAdapter.java

@@ -1,6 +1,7 @@
 package com.afollestad.materialdialogs.simplelist;
 
 import android.content.Context;
+import android.graphics.PorterDuff;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
@@ -50,6 +51,8 @@ public class MaterialSimpleListAdapter extends ArrayAdapter<MaterialSimpleListIt
                 ic.setImageDrawable(item.getIcon());
                 ic.setPadding(item.getIconPadding(), item.getIconPadding(),
                         item.getIconPadding(), item.getIconPadding());
+                ic.getBackground().setColorFilter(item.getBackgroundColor(),
+                        PorterDuff.Mode.SRC_ATOP);
             } else {
                 ic.setVisibility(View.GONE);
             }

+ 26 - 0
commons/src/main/java/com/afollestad/materialdialogs/simplelist/MaterialSimpleListItem.java

@@ -1,7 +1,11 @@
 package com.afollestad.materialdialogs.simplelist;
 
 import android.content.Context;
+import android.graphics.Color;
 import android.graphics.drawable.Drawable;
+import android.support.annotation.AttrRes;
+import android.support.annotation.ColorInt;
+import android.support.annotation.ColorRes;
 import android.support.annotation.DimenRes;
 import android.support.annotation.DrawableRes;
 import android.support.annotation.IntRange;
@@ -9,6 +13,8 @@ import android.support.annotation.StringRes;
 import android.support.v4.content.ContextCompat;
 import android.util.TypedValue;
 
+import com.afollestad.materialdialogs.util.DialogUtils;
+
 /**
  * @author Aidan Follestad (afollestad)
  */
@@ -32,15 +38,22 @@ public class MaterialSimpleListItem {
         return mBuilder.mIconPadding;
     }
 
+    @ColorInt
+    public int getBackgroundColor() {
+        return mBuilder.mBackgroundColor;
+    }
+
     public static class Builder {
 
         private final Context mContext;
         protected Drawable mIcon;
         protected CharSequence mContent;
         protected int mIconPadding;
+        protected int mBackgroundColor;
 
         public Builder(Context context) {
             mContext = context;
+            mBackgroundColor = Color.parseColor("#BCBCBC");
         }
 
         public Builder icon(Drawable icon) {
@@ -76,6 +89,19 @@ public class MaterialSimpleListItem {
             return content(mContext.getString(contentRes));
         }
 
+        public Builder backgroundColor(@ColorInt int color) {
+            this.mBackgroundColor = color;
+            return this;
+        }
+
+        public Builder backgroundColorRes(@ColorRes int colorRes) {
+            return backgroundColor(ContextCompat.getColor(mContext, colorRes));
+        }
+
+        public Builder backgroundColorAttr(@AttrRes int colorAttr) {
+            return backgroundColor(DialogUtils.resolveColor(mContext, colorAttr));
+        }
+
         public MaterialSimpleListItem build() {
             return new MaterialSimpleListItem(this);
         }

+ 2 - 0
sample/src/main/java/com/afollestad/materialdialogssample/MainActivity.java

@@ -305,10 +305,12 @@ public class MainActivity extends AppCompatActivity implements
         adapter.add(new MaterialSimpleListItem.Builder(this)
                 .content("username@gmail.com")
                 .icon(R.drawable.ic_account_circle)
+                .backgroundColor(Color.WHITE)
                 .build());
         adapter.add(new MaterialSimpleListItem.Builder(this)
                 .content("user02@gmail.com")
                 .icon(R.drawable.ic_account_circle)
+                .backgroundColor(Color.WHITE)
                 .build());
         adapter.add(new MaterialSimpleListItem.Builder(this)
                 .content(R.string.add_account)

BIN
sample/src/main/res/drawable-hdpi/ic_account_circle.png


BIN
sample/src/main/res/drawable-mdpi/ic_account_circle.png


BIN
sample/src/main/res/drawable-xhdpi/ic_account_circle.png


BIN
sample/src/main/res/drawable-xxhdpi/ic_account_circle.png


BIN
sample/src/main/res/drawable-xxxhdpi/ic_account_circle.png