diff --git a/app/src/main/res/menu/search.xml b/app/src/main/res/menu/search.xml index f6ef15516..2d39c3eec 100644 --- a/app/src/main/res/menu/search.xml +++ b/app/src/main/res/menu/search.xml @@ -6,6 +6,6 @@ android:id="@+id/action_search" android:icon="@drawable/ic_search" app:showAsAction="collapseActionView|always" - app:actionViewClass="androidx.appcompat.widget.SearchView" + app:actionViewClass="de.danoeh.antennapod.ui.common.CollapsibleSearchView" android:title="@string/search_label"/> \ No newline at end of file diff --git a/ui/common/src/main/java/de/danoeh/antennapod/ui/common/CollapsibleSearchView.java b/ui/common/src/main/java/de/danoeh/antennapod/ui/common/CollapsibleSearchView.java new file mode 100644 index 000000000..2b5e250dd --- /dev/null +++ b/ui/common/src/main/java/de/danoeh/antennapod/ui/common/CollapsibleSearchView.java @@ -0,0 +1,37 @@ +package de.danoeh.antennapod.ui.common; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.CollapsibleActionView; +import android.view.ViewGroup; + +import androidx.appcompat.widget.SearchView; + +/** + * A SearchView implementation that can be used as an expanded action view. + * It overrides the default behavior to take the full width of the screen. + */ +public class CollapsibleSearchView extends SearchView implements CollapsibleActionView { + public CollapsibleSearchView(Context context) { + super(context); + } + + public CollapsibleSearchView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public CollapsibleSearchView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public void onActionViewExpanded() { + super.onActionViewExpanded(); + ViewGroup.LayoutParams params = getLayoutParams(); + if (params != null) { + params.width = ViewGroup.LayoutParams.MATCH_PARENT; + setLayoutParams(params); + } + setIconifiedByDefault(false); + } +} diff --git a/ui/discovery/src/main/res/menu/online_search.xml b/ui/discovery/src/main/res/menu/online_search.xml index 374a054fa..fe0cb2e74 100644 --- a/ui/discovery/src/main/res/menu/online_search.xml +++ b/ui/discovery/src/main/res/menu/online_search.xml @@ -6,7 +6,7 @@ android:id="@+id/action_search" android:icon="@drawable/ic_search" custom:showAsAction="collapseActionView|ifRoom" - custom:actionViewClass="androidx.appcompat.widget.SearchView" + custom:actionViewClass="de.danoeh.antennapod.ui.common.CollapsibleSearchView" android:title="@string/search_label"/>