From e98d2a6a937f132462d35216b9fd7f1e151651f1 Mon Sep 17 00:00:00 2001 From: Clayton Wilson Date: Sun, 18 Oct 2020 19:50:00 -0400 Subject: [PATCH] Search activity price seekbar layout --- Listify/app/build.gradle | 2 +- .../example/listify/SortDialogFragment.java | 34 +++++++++++++++ .../app/src/main/res/layout/dialog_sort.xml | 43 ++++++++++++++++++- 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/Listify/app/build.gradle b/Listify/app/build.gradle index 0ad5dc3..d90a79b 100644 --- a/Listify/app/build.gradle +++ b/Listify/app/build.gradle @@ -51,5 +51,5 @@ dependencies { implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' implementation 'com.squareup.okhttp3:okhttp:4.8.1' - + implementation 'com.crystal:crystalrangeseekbar:1.1.3' } \ No newline at end of file diff --git a/Listify/app/src/main/java/com/example/listify/SortDialogFragment.java b/Listify/app/src/main/java/com/example/listify/SortDialogFragment.java index ac4713f..d94f120 100644 --- a/Listify/app/src/main/java/com/example/listify/SortDialogFragment.java +++ b/Listify/app/src/main/java/com/example/listify/SortDialogFragment.java @@ -10,9 +10,18 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.Spinner; +import android.widget.TextView; + import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; + +import com.crystal.crystalrangeseekbar.interfaces.OnRangeSeekbarChangeListener; +import com.crystal.crystalrangeseekbar.interfaces.OnRangeSeekbarFinalValueListener; +import com.crystal.crystalrangeseekbar.widgets.CrystalRangeSeekbar; + +import org.w3c.dom.Text; + import java.util.ArrayList; @@ -136,6 +145,31 @@ public class SortDialogFragment extends DialogFragment { sortDirectionButton.setEnabled(false); } + // Set up the seekbar for price + final CrystalRangeSeekbar priceSeekbar = (CrystalRangeSeekbar) root.findViewById(R.id.price_range_seekbar); + final TextView tvMin = (TextView) root.findViewById(R.id.tv_min_price); + final TextView tvMax = (TextView) root.findViewById(R.id.tv_max_price); + + priceSeekbar.setMaxValue(367); + + // Update price display + priceSeekbar.setOnRangeSeekbarChangeListener(new OnRangeSeekbarChangeListener() { + @Override + public void valueChanged(Number minValue, Number maxValue) { + tvMin.setText(String.format("$%.2f", minValue.doubleValue())); + tvMax.setText(String.format("$%.2f", maxValue.doubleValue())); + } + }); + + // Save price values when user finishes moving the slider + priceSeekbar.setOnRangeSeekbarFinalValueListener(new OnRangeSeekbarFinalValueListener() { + @Override + public void finalValue(Number minValue, Number maxValue) { + System.out.println(String.format("Min: $%.2f, Max: $%.2f", minValue.doubleValue(), maxValue.doubleValue())); + } + }); + + return builder.create(); } diff --git a/Listify/app/src/main/res/layout/dialog_sort.xml b/Listify/app/src/main/res/layout/dialog_sort.xml index 38e5002..6a6d5b1 100644 --- a/Listify/app/src/main/res/layout/dialog_sort.xml +++ b/Listify/app/src/main/res/layout/dialog_sort.xml @@ -31,7 +31,7 @@ + + + + + + + + + + + + + \ No newline at end of file