Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-06-05 15:41:31 +0300
committerStefan Niedermann <info@niedermann.it>2020-06-05 15:41:31 +0300
commit291d600fdf4172f9ba90fba6234f6199c5f618af (patch)
tree1fca14990089dd13d292645bb35603088ffb1859 /app/src/main
parent7d8f6c02d592ccc6bea1ec72a3bf98af28bf9546 (diff)
Animate between card toolbar and search toolbar
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java11
-rw-r--r--app/src/main/res/animator/appbar_elevation_off.xml9
-rw-r--r--app/src/main/res/animator/appbar_elevation_on.xml11
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>