diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-06-05 15:41:31 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-06-05 15:41:31 +0300 |
commit | 291d600fdf4172f9ba90fba6234f6199c5f618af (patch) | |
tree | 1fca14990089dd13d292645bb35603088ffb1859 /app/src/main | |
parent | 7d8f6c02d592ccc6bea1ec72a3bf98af28bf9546 (diff) |
Animate between card toolbar and search toolbar
Diffstat (limited to 'app/src/main')
3 files changed, 30 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java index 49865833..205f04d8 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java @@ -1,11 +1,14 @@ package it.niedermann.owncloud.notes.android.activity; +import android.animation.AnimatorInflater; +import android.annotation.SuppressLint; import android.app.SearchManager; import android.content.Intent; import android.database.sqlite.SQLiteConstraintException; import android.graphics.Color; import android.net.Uri; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.text.TextUtils; @@ -795,10 +798,16 @@ public class NotesListViewActivity extends LockedActivity implements NoteClickLi } } + @SuppressLint("PrivateResource") private void updateToolbars(boolean disableSearch) { activityBinding.homeToolbar.setVisibility(disableSearch ? VISIBLE : GONE); activityBinding.toolbar.setVisibility(disableSearch ? GONE : VISIBLE); - ViewCompat.setElevation(activityBinding.appBar, disableSearch ? 0 : getResources().getDimension(R.dimen.design_appbar_elevation)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activityBinding.appBar.setStateListAnimator(AnimatorInflater.loadStateListAnimator(activityBinding.appBar.getContext(), + disableSearch ? R.animator.appbar_elevation_off : R.animator.appbar_elevation_on)); + } else { + ViewCompat.setElevation(activityBinding.appBar, disableSearch ? 0 : getResources().getDimension(R.dimen.design_appbar_elevation)); + } if (disableSearch) { activityBinding.searchView.setQuery(null, true); } diff --git a/app/src/main/res/animator/appbar_elevation_off.xml b/app/src/main/res/animator/appbar_elevation_off.xml new file mode 100644 index 00000000..d24dcb34 --- /dev/null +++ b/app/src/main/res/animator/appbar_elevation_off.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item> + <objectAnimator + android:propertyName="elevation" + android:valueTo="0dp" + android:valueType="floatType" /> + </item> +</selector> diff --git a/app/src/main/res/animator/appbar_elevation_on.xml b/app/src/main/res/animator/appbar_elevation_on.xml new file mode 100644 index 00000000..6bd52cf3 --- /dev/null +++ b/app/src/main/res/animator/appbar_elevation_on.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + tools:ignore="PrivateResource"> + <item> + <objectAnimator + android:propertyName="elevation" + android:valueTo="@dimen/design_appbar_elevation" + android:valueType="floatType" /> + </item> +</selector> |