adding configurable alpha channel for odd rows of a table

This commit is contained in:
nemanja_tomasevic 2021-04-16 09:36:48 +02:00
parent 2ea148c30a
commit 9b6f3d06e1
2 changed files with 19 additions and 2 deletions

View File

@ -47,6 +47,9 @@ public class TableTheme {
// by default paint.color * TABLE_ODD_ROW_DEF_ALPHA // by default paint.color * TABLE_ODD_ROW_DEF_ALPHA
protected final int tableOddRowBackgroundColor; protected final int tableOddRowBackgroundColor;
// by default TABLE_ODD_ROW_DEF_ALPHA
protected int tableOddRowBackgroundColorOpacity;
// @since 1.1.1 // @since 1.1.1
// by default no background // by default no background
protected final int tableEvenRowBackgroundColor; protected final int tableEvenRowBackgroundColor;
@ -62,6 +65,12 @@ public class TableTheme {
this.tableOddRowBackgroundColor = builder.tableOddRowBackgroundColor; this.tableOddRowBackgroundColor = builder.tableOddRowBackgroundColor;
this.tableEvenRowBackgroundColor = builder.tableEvenRowBackgroundColor; this.tableEvenRowBackgroundColor = builder.tableEvenRowBackgroundColor;
this.tableHeaderRowBackgroundColor = builder.tableHeaderRowBackgroundColor; this.tableHeaderRowBackgroundColor = builder.tableHeaderRowBackgroundColor;
if(builder.tableOddRowBackgroundColorOpacity == -1) {
this.tableOddRowBackgroundColorOpacity = TABLE_ODD_ROW_DEF_ALPHA;
} else {
this.tableOddRowBackgroundColorOpacity = builder.tableOddRowBackgroundColorOpacity;
}
} }
/** /**
@ -109,7 +118,8 @@ public class TableTheme {
public void applyTableOddRowStyle(@NonNull Paint paint) { public void applyTableOddRowStyle(@NonNull Paint paint) {
final int color; final int color;
if (tableOddRowBackgroundColor == 0) { if (tableOddRowBackgroundColor == 0) {
color = ColorUtils.applyAlpha(paint.getColor(), TABLE_ODD_ROW_DEF_ALPHA);
color = ColorUtils.applyAlpha(paint.getColor(), tableOddRowBackgroundColorOpacity);
} else { } else {
color = tableOddRowBackgroundColor; color = tableOddRowBackgroundColor;
} }
@ -140,6 +150,7 @@ public class TableTheme {
private int tableBorderColor; private int tableBorderColor;
private int tableBorderWidth = -1; private int tableBorderWidth = -1;
private int tableOddRowBackgroundColor; private int tableOddRowBackgroundColor;
private int tableOddRowBackgroundColorOpacity = -1;
private int tableEvenRowBackgroundColor; // @since 1.1.1 private int tableEvenRowBackgroundColor; // @since 1.1.1
private int tableHeaderRowBackgroundColor; // @since 1.1.1 private int tableHeaderRowBackgroundColor; // @since 1.1.1
@ -167,6 +178,12 @@ public class TableTheme {
return this; return this;
} }
@NonNull
public Builder tableOddRowBackgroundColorOpacity(int tableOddRowBackgroundColorOpacity) {
this.tableOddRowBackgroundColorOpacity = tableOddRowBackgroundColorOpacity;
return this;
}
@NonNull @NonNull
public Builder tableEvenRowBackgroundColor(@ColorInt int tableEvenRowBackgroundColor) { public Builder tableEvenRowBackgroundColor(@ColorInt int tableEvenRowBackgroundColor) {
this.tableEvenRowBackgroundColor = tableEvenRowBackgroundColor; this.tableEvenRowBackgroundColor = tableEvenRowBackgroundColor;

View File

@ -52,7 +52,7 @@ public class TableEntryTheme extends TableTheme {
@ColorInt @ColorInt
public int tableOddRowBackgroundColor(@NonNull Paint paint) { public int tableOddRowBackgroundColor(@NonNull Paint paint) {
return tableOddRowBackgroundColor == 0 return tableOddRowBackgroundColor == 0
? ColorUtils.applyAlpha(paint.getColor(), TABLE_ODD_ROW_DEF_ALPHA) ? ColorUtils.applyAlpha(paint.getColor(), tableOddRowBackgroundColorOpacity)
: tableOddRowBackgroundColor; : tableOddRowBackgroundColor;
} }