Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Card corner radius #116

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ public void onClick() {

MaterialAboutCard.Builder authorCardBuilder = new MaterialAboutCard.Builder();
authorCardBuilder.title("Author");
// authorCardBuilder.cardCornerRadius(16);
// authorCardBuilder.titleColor(ContextCompat.getColor(c, R.color.colorAccent));

authorCardBuilder.addItem(new MaterialAboutActionItem.Builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
package com.danielstone.materialaboutlibrary.adapters;

import android.content.Context;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.AsyncListDiffer;
import androidx.recyclerview.widget.DiffUtil;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.danielstone.materialaboutlibrary.R;
import com.danielstone.materialaboutlibrary.model.MaterialAboutCard;
import com.danielstone.materialaboutlibrary.util.DefaultViewTypeManager;
Expand Down Expand Up @@ -73,6 +71,12 @@ public void onBindViewHolder(MaterialAboutListViewHolder holder, int position) {
} else {
cardView.setCardBackgroundColor(cardView.getCardBackgroundColor().getDefaultColor());
}
int cornerRadius = card.getCardCornerRadius();
if (cornerRadius != 0) {
cardView.setRadius(TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, cornerRadius, context.getResources().getDisplayMetrics()
));
}
}

CharSequence title = card.getTitle();
Expand Down Expand Up @@ -190,7 +194,8 @@ public boolean areContentsTheSame(MaterialAboutCard oldItem, MaterialAboutCard n
result = oldItem.toString().equals(newItem.toString());
if (oldItem.getItems().size() != newItem.getItems().size()) return false;
for (int i = 0; i < oldItem.getItems().size(); i++) {
if (!oldItem.getItems().get(i).getDetailString().equals(newItem.getItems().get(i).getDetailString())) return false;
if (!oldItem.getItems().get(i).getDetailString().equals(newItem.getItems().get(i).getDetailString()))
return false;
}
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public class MaterialAboutCard {

private int titleColor = 0;
private int cardColor = 0;
private int cardCornerRadius = 0;
private boolean outline = true;

private RecyclerView.Adapter customAdapter = null;
Expand All @@ -32,6 +33,7 @@ private MaterialAboutCard(Builder builder) {
this.titleRes = builder.titleRes;
this.titleColor = builder.titleColor;
this.cardColor = builder.cardColor;
this.cardCornerRadius = builder.cardCornerRadius;
this.items = builder.items;
this.customAdapter = builder.customAdapter;
this.outline = builder.outline;
Expand Down Expand Up @@ -63,6 +65,10 @@ public int getCardColor() {
return cardColor;
}

public int getCardCornerRadius() {
return cardCornerRadius;
}

public boolean isOutline() {
return outline;
}
Expand All @@ -82,6 +88,8 @@ public static class Builder {
@ColorInt
private int cardColor = 0;

private int cardCornerRadius = 0;

private boolean outline = true;

private ArrayList<MaterialAboutItem> items = new ArrayList<>();
Expand Down Expand Up @@ -109,6 +117,11 @@ public Builder cardColor(@ColorInt int cardColor) {
return this;
}

public Builder cardCornerRadius(int cardCornerRadius) {
this.cardCornerRadius = cardCornerRadius;
return this;
}

/**
* Use outlined card design - true by default
* @param outline false to enable elevation
Expand Down Expand Up @@ -151,6 +164,7 @@ public String toString() {
", titleColor=" + titleColor +
", customAdapter=" + customAdapter +
", outline=" + outline +
", cardCornerRadius=" + cardCornerRadius +
", cardColor=" + cardColor + '}';
return result;
}
Expand All @@ -161,6 +175,7 @@ public MaterialAboutCard(MaterialAboutCard card) {
this.titleRes = card.getTitleRes();
this.titleColor = card.getTitleColor();
this.cardColor = card.getCardColor();
this.cardCornerRadius = card.getCardCornerRadius();
this.items = new ArrayList<>();
this.outline = card.isOutline();
this.customAdapter = card.getCustomAdapter();
Expand Down