From 34a016d49d0daf7189d235acb565a42803f05417 Mon Sep 17 00:00:00 2001
From: Anmol Gupta <44764339+6point022@users.noreply.github.com>
Date: Mon, 16 Mar 2020 15:43:20 +0530
Subject: [PATCH] Change item background according to the theme (#3480)
* Change item background according to the theme
* Change background colour of item on being selected
* Change background colors using XML selectors
---
.../nearby/NearbyFilterSearchRecyclerViewAdapter.java | 11 +++++++----
.../res/drawable/linearlayout_color_dark_selector.xml | 6 ++++++
.../main/res/drawable/linearlayout_color_selector.xml | 6 ++++++
app/src/main/res/layout/nearby_search_list_item.xml | 8 +++++---
.../main/res/layout/nearby_search_list_item_dark.xml | 7 ++++---
5 files changed, 28 insertions(+), 10 deletions(-)
create mode 100644 app/src/main/res/drawable/linearlayout_color_dark_selector.xml
create mode 100644 app/src/main/res/drawable/linearlayout_color_selector.xml
diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java
index efe89db95..c2d4eec9c 100644
--- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java
+++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java
@@ -70,7 +70,7 @@ public class NearbyFilterSearchRecyclerViewAdapter
@NonNull
@Override
public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View itemView = inflater.inflate(callback.isDarkTheme()?R.layout.nearby_search_list_item_dark:R.layout.nearby_search_list_item, parent, false);
+ View itemView = inflater.inflate(callback.isDarkTheme() ? R.layout.nearby_search_list_item_dark : R.layout.nearby_search_list_item, parent, false);
return new RecyclerViewHolder(itemView);
}
@@ -79,17 +79,20 @@ public class NearbyFilterSearchRecyclerViewAdapter
Label label = displayedLabels.get(position);
holder.placeTypeIcon.setImageResource(label.getIcon());
holder.placeTypeLabel.setText(label.toString());
+ holder.placeTypeLayout.setSelected(label.isSelected());
- holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : callback.isDarkTheme()?Color.BLACK:Color.WHITE);
holder.placeTypeLayout.setOnClickListener(view -> {
callback.setCheckboxUnknown();
+
if (label.isSelected()) {
selectedLabels.remove(label);
} else {
selectedLabels.add(label);
}
+
label.setSelected(!label.isSelected());
- holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : Color.WHITE);
+ holder.placeTypeLayout.setSelected(label.isSelected());
+
callback.filterByMarkerType(selectedLabels, 0, false, false);
});
}
@@ -165,7 +168,7 @@ public class NearbyFilterSearchRecyclerViewAdapter
notifyDataSetChanged();
}
- public interface Callback{
+ public interface Callback {
void setCheckboxUnknown();
diff --git a/app/src/main/res/drawable/linearlayout_color_dark_selector.xml b/app/src/main/res/drawable/linearlayout_color_dark_selector.xml
new file mode 100644
index 000000000..ffb78141a
--- /dev/null
+++ b/app/src/main/res/drawable/linearlayout_color_dark_selector.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/linearlayout_color_selector.xml b/app/src/main/res/drawable/linearlayout_color_selector.xml
new file mode 100644
index 000000000..f11c4a93a
--- /dev/null
+++ b/app/src/main/res/drawable/linearlayout_color_selector.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/nearby_search_list_item.xml b/app/src/main/res/layout/nearby_search_list_item.xml
index b6261e80b..439e6fe70 100644
--- a/app/src/main/res/layout/nearby_search_list_item.xml
+++ b/app/src/main/res/layout/nearby_search_list_item.xml
@@ -1,18 +1,20 @@
+
+ android:padding="@dimen/tiny_margin"
+ android:background="@drawable/linearlayout_color_selector">
+ android:layout_height="wrap_content"/>
+ android:layout_height="wrap_content"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/nearby_search_list_item_dark.xml b/app/src/main/res/layout/nearby_search_list_item_dark.xml
index fd87641f3..e62ab7b42 100644
--- a/app/src/main/res/layout/nearby_search_list_item_dark.xml
+++ b/app/src/main/res/layout/nearby_search_list_item_dark.xml
@@ -4,16 +4,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/tiny_margin"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:background="@drawable/linearlayout_color_dark_selector">
+ android:layout_height="wrap_content"/>
+ android:textColor="@color/white"/>
\ No newline at end of file