From 3b8200bd58a3fcd903c5febbb8d9c908f59743fc Mon Sep 17 00:00:00 2001 From: DrDisagree Date: Fri, 12 Jan 2024 14:17:16 +0600 Subject: [PATCH] Make seekbar height auto resizable --- .../ui/widgets/ResizableSeekbar.java | 28 +++++++++++++++++++ app/src/main/res/drawable/seekbar_track.xml | 2 -- .../main/res/layout/view_widget_seekbar.xml | 4 +-- app/src/main/res/values/dimens.xml | 1 - 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/com/drdisagree/colorblendr/ui/widgets/ResizableSeekbar.java diff --git a/app/src/main/java/com/drdisagree/colorblendr/ui/widgets/ResizableSeekbar.java b/app/src/main/java/com/drdisagree/colorblendr/ui/widgets/ResizableSeekbar.java new file mode 100644 index 00000000..e0698a8c --- /dev/null +++ b/app/src/main/java/com/drdisagree/colorblendr/ui/widgets/ResizableSeekbar.java @@ -0,0 +1,28 @@ +package com.drdisagree.colorblendr.ui.widgets; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; + +public class ResizableSeekbar extends androidx.appcompat.widget.AppCompatSeekBar { + + public ResizableSeekbar(Context context) { + super(context); + } + + public ResizableSeekbar(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public ResizableSeekbar(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected synchronized void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + + Drawable trackDrawable = getProgressDrawable().getCurrent(); + trackDrawable.setBounds(0, 0, getMeasuredWidth(), getMeasuredHeight()); + } +} diff --git a/app/src/main/res/drawable/seekbar_track.xml b/app/src/main/res/drawable/seekbar_track.xml index daa663b5..543bea1e 100644 --- a/app/src/main/res/drawable/seekbar_track.xml +++ b/app/src/main/res/drawable/seekbar_track.xml @@ -4,7 +4,6 @@ - @@ -20,7 +19,6 @@ - diff --git a/app/src/main/res/layout/view_widget_seekbar.xml b/app/src/main/res/layout/view_widget_seekbar.xml index cc0b4dd1..b3a65c92 100644 --- a/app/src/main/res/layout/view_widget_seekbar.xml +++ b/app/src/main/res/layout/view_widget_seekbar.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/container" android:layout_width="match_parent" - android:layout_height="@dimen/seekbar_height" + android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/container_margin_horizontal" android:layout_marginBottom="@dimen/container_margin_bottom" android:clickable="true" @@ -11,7 +11,7 @@ app:cardMaxElevation="0dp" app:strokeWidth="0dp"> - 12dp 16dp 12dp - 80dp \ No newline at end of file