Use accent color for light white theme buttons

pull/848/head
Alex Baker 6 years ago
parent 7af512e55a
commit f35dbaa529

@ -39,7 +39,7 @@ public class PurchaseAdapter extends ListAdapter<Integer, PurchaseHolder> {
@Override @Override
public PurchaseHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public PurchaseHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = activity.getLayoutInflater().inflate(R.layout.dialog_purchase_cell, parent, false); View view = activity.getLayoutInflater().inflate(R.layout.dialog_purchase_cell, parent, false);
return new PurchaseHolder(activity, view, onPriceChanged, locale); return new PurchaseHolder(view, onPriceChanged, locale);
} }
@Override @Override

@ -1,38 +1,32 @@
package org.tasks.billing; package org.tasks.billing;
import static org.tasks.preferences.ResourceResolver.getData;
import android.content.Context;
import android.view.View; import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import com.google.android.material.button.MaterialButton;
import org.tasks.Callback; import org.tasks.Callback;
import org.tasks.R; import org.tasks.R;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;
public class PurchaseHolder extends RecyclerView.ViewHolder { public class PurchaseHolder extends RecyclerView.ViewHolder {
private final Context context;
private final Callback<Integer> onClick; private final Callback<Integer> onClick;
private final Locale locale; private final Locale locale;
@BindView(R.id.price) @BindView(R.id.price)
TextView textView; MaterialButton button;
private int price; private int price;
PurchaseHolder(Context context, @NonNull View view, Callback<Integer> onClick, Locale locale) { PurchaseHolder(@NonNull View view, Callback<Integer> onClick, Locale locale) {
super(view); super(view);
this.locale = locale; this.locale = locale;
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
this.context = context;
this.onClick = onClick; this.onClick = onClick;
} }
@ -43,10 +37,7 @@ public class PurchaseHolder extends RecyclerView.ViewHolder {
public void bind(int price, boolean selected) { public void bind(int price, boolean selected) {
this.price = price; this.price = price;
textView.setText(String.format("$%s", locale.formatNumber(price))); button.setText(String.format("$%s", locale.formatNumber(price)));
textView.setTextColor( button.setChecked(selected);
selected
? getData(context, R.attr.colorPrimary)
: ContextCompat.getColor(context, R.color.text_primary));
} }
} }

@ -8,6 +8,7 @@ import android.view.ContextThemeWrapper;
import android.view.View; import android.view.View;
import android.widget.ListAdapter; import android.widget.ListAdapter;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.List; import java.util.List;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;
import org.tasks.themes.Theme; import org.tasks.themes.Theme;
@ -25,7 +26,7 @@ public class AlertDialogBuilder {
this.locale = locale; this.locale = locale;
ContextThemeWrapper wrapper = theme.getThemedDialog(context); ContextThemeWrapper wrapper = theme.getThemedDialog(context);
theme.applyToContext(wrapper); theme.applyToContext(wrapper);
builder = new AlertDialog.Builder(wrapper); builder = new MaterialAlertDialogBuilder(wrapper);
} }
public AlertDialogBuilder setMessage(int message, Object... formatArgs) { public AlertDialogBuilder setMessage(int message, Object... formatArgs) {

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.08" android:color="?attr/colorAccent" android:state_checked="true"/>
<item android:color="@android:color/transparent" android:state_checked="false"/>
</selector>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.16" android:color="?attr/colorAccent" android:state_pressed="true"/>
<item android:alpha="0.12" android:color="?attr/colorAccent" android:state_focused="true" android:state_hovered="true"/>
<item android:alpha="0.12" android:color="?attr/colorAccent" android:state_focused="true"/>
<item android:alpha="0.04" android:color="?attr/colorAccent" android:state_hovered="true"/>
<item android:alpha="0.00" android:color="?attr/colorAccent"/>
</selector>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorAccent" android:state_checked="true"/>
<item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_checked="false"/>
</selector>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="1.00" android:color="?attr/colorAccent" android:state_checkable="true" android:state_checked="true" android:state_enabled="true"/>
<item android:alpha="0.60" android:color="?attr/colorOnSurface" android:state_checkable="true" android:state_checked="false" android:state_enabled="true"/>
<item android:alpha="1.00" android:color="?attr/colorAccent" android:state_enabled="true"/>
<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
</selector>

@ -33,14 +33,14 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_monthly" android:id="@+id/button_monthly"
style="?attr/materialButtonOutlinedStyle" style="@style/OutlineButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/monthly"/> android:text="@string/monthly"/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_annually" android:id="@+id/button_annually"
style="?attr/materialButtonOutlinedStyle" style="@style/OutlineButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/annually"/> android:text="@string/annually"/>
@ -55,7 +55,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/subscribe" android:id="@+id/subscribe"
style="?attr/materialButtonOutlinedStyle" style="@style/TextButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"
@ -63,7 +63,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/unsubscribe" android:id="@+id/unsubscribe"
style="?attr/materialButtonOutlinedStyle" style="@style/TextButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"
@ -72,7 +72,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_more_info" android:id="@+id/button_more_info"
style="?attr/materialButtonOutlinedStyle" style="@style/TextButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"

@ -1,15 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.AppCompatTextView <com.google.android.material.button.MaterialButton
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
style="@style/TextButton"
android:id="@+id/price" android:id="@+id/price"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:layout_width="@dimen/icon_picker_size" android:layout_width="@dimen/icon_picker_size"
android:layout_height="@dimen/icon_picker_size" android:layout_height="@dimen/icon_picker_size"
android:padding="8dp"
android:textSize="18sp" android:textSize="18sp"
android:textAlignment="center" android:textAlignment="center"
android:textColor="@color/text_primary"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:background="?attr/selectableItemBackgroundBorderless" android:checkable="true"
tools:ignore="ContentDescription"/> tools:ignore="ContentDescription"/>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="White" parent="White_Base"/>
</resources>

@ -18,6 +18,10 @@
<attr format="dimension" name="alpha_disabled"/> <attr format="dimension" name="alpha_disabled"/>
<attr format="color" name="colorAccentDialog"/> <attr format="color" name="colorAccentDialog"/>
<attr format="dimension" name="card_elevation"/> <attr format="dimension" name="card_elevation"/>
<attr format="reference" name="materialButtonText"/>
<attr format="reference" name="materialButtonBackground"/>
<attr format="reference" name="materialButtonRipple"/>
<attr format="reference" name="materialButtonStroke"/>
<declare-styleable name="TimePreference"> <declare-styleable name="TimePreference">
<attr format="string" name="summary"/> <attr format="string" name="summary"/>

@ -154,4 +154,17 @@
<item name="closeIconStartPadding">0dp</item> <item name="closeIconStartPadding">0dp</item>
</style> </style>
<style name="OutlineButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
<item name="android:textColor">?attr/materialButtonText</item>
<item name="backgroundTint">?attr/materialButtonBackground</item>
<item name="rippleColor">?attr/materialButtonRipple</item>
<item name="strokeColor">?attr/materialButtonStroke</item>
</style>
<style name="TextButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">?attr/materialButtonText</item>
<item name="backgroundTint">?attr/materialButtonBackground</item>
<item name="rippleColor">?attr/materialButtonRipple</item>
</style>
</resources> </resources>

@ -18,7 +18,7 @@
<item name="android:spinnerItemStyle">@style/SpinnerNoPadding</item> <item name="android:spinnerItemStyle">@style/SpinnerNoPadding</item>
<item name="dialogTheme">@style/TasksDialog</item> <item name="dialogTheme">@style/TasksDialog</item>
<item name="android:dialogTheme">@style/TasksDialog</item> <item name="android:dialogTheme">@style/TasksDialog</item>
<item name="alertDialogTheme">@style/TasksDialogAlert</item> <item name="materialAlertDialogTheme">@style/TasksDialogAlert</item>
<item name="alpha_secondary">@dimen/alpha_secondary</item> <item name="alpha_secondary">@dimen/alpha_secondary</item>
<item name="alpha_disabled">@dimen/alpha_disabled</item> <item name="alpha_disabled">@dimen/alpha_disabled</item>
<item name="android:textColorPrimary">@color/text_primary</item> <item name="android:textColorPrimary">@color/text_primary</item>
@ -31,6 +31,10 @@
<item name="nnf_save_icon_color">?attr/colorAccent</item> <item name="nnf_save_icon_color">?attr/colorAccent</item>
<item name="nnf_dir_icon_color">?attr/colorAccent</item> <item name="nnf_dir_icon_color">?attr/colorAccent</item>
<item name="card_elevation">2dp</item> <item name="card_elevation">2dp</item>
<item name="materialButtonText">@color/mtrl_text_btn_text_color_selector</item>
<item name="materialButtonBackground">@color/mtrl_btn_text_btn_bg_color_selector</item>
<item name="materialButtonRipple">@color/mtrl_btn_text_btn_ripple_color</item>
<item name="materialButtonStroke">@color/mtrl_btn_stroke_color_selector</item>
</style> </style>
<style name="Tasks" parent="TasksBase"/> <style name="Tasks" parent="TasksBase"/>

@ -1,9 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="White" parent="BlackToolbarTheme"> <style name="White_Base" parent="BlackToolbarTheme">
<item name="colorPrimary">@color/white_100</item> <item name="colorPrimary">@color/white_100</item>
<item name="colorPrimaryVariant">@color/white_100</item> <item name="colorPrimaryVariant">@color/white_100</item>
</style> </style>
<style name="White" parent="White_Base">
<item name="buttonBarPositiveButtonStyle">@style/AlertButtonStyle</item>
<item name="buttonBarNegativeButtonStyle">@style/AlertButtonStyle</item>
<item name="buttonBarNeutralButtonStyle">@style/AlertButtonStyle</item>
<item name="materialButtonText">@color/button_accent_text</item>
<item name="materialButtonBackground">@color/button_accent_background</item>
<item name="materialButtonRipple">@color/button_accent_ripple</item>
<item name="materialButtonStroke">@color/button_accent_stroke</item>
</style>
<style name="AlertButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog.Flush">
<item name="android:textColor">?attr/colorAccent</item>
</style>
</resources> </resources>
Loading…
Cancel
Save