From 454d8048df699f79464859663dc66eea24a4e078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Sun, 20 Oct 2019 21:54:33 +0200 Subject: [PATCH] Animate Display Hosts on Android --- .../java/com/metallic/chiaki/main/MainActivity.kt | 6 +++++- android/app/src/main/res/anim/item_drop.xml | 13 +++++++++++++ android/app/src/main/res/anim/layout_drop.xml | 6 ++++++ android/app/src/main/res/layout/activity_main.xml | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 android/app/src/main/res/anim/item_drop.xml create mode 100644 android/app/src/main/res/anim/layout_drop.xml diff --git a/android/app/src/main/java/com/metallic/chiaki/main/MainActivity.kt b/android/app/src/main/java/com/metallic/chiaki/main/MainActivity.kt index 1814a98..6d06d7d 100644 --- a/android/app/src/main/java/com/metallic/chiaki/main/MainActivity.kt +++ b/android/app/src/main/java/com/metallic/chiaki/main/MainActivity.kt @@ -24,6 +24,7 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.View +import android.view.animation.AnimationUtils import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.LinearLayoutManager @@ -72,7 +73,10 @@ class MainActivity : AppCompatActivity() val recyclerViewAdapter = DisplayHostRecyclerViewAdapter() hostsRecyclerView.adapter = recyclerViewAdapter hostsRecyclerView.layoutManager = LinearLayoutManager(this) - viewModel.displayHosts.observe(this, Observer { recyclerViewAdapter.hosts = it }) + viewModel.displayHosts.observe(this, Observer { + recyclerViewAdapter.hosts = it + hostsRecyclerView.scheduleLayoutAnimation() + }) viewModel.discoveryActive.observe(this, Observer { active -> discoveryMenuItem?.let { updateDiscoveryMenuItem(it, active) } diff --git a/android/app/src/main/res/anim/item_drop.xml b/android/app/src/main/res/anim/item_drop.xml new file mode 100644 index 0000000..65728b9 --- /dev/null +++ b/android/app/src/main/res/anim/item_drop.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/anim/layout_drop.xml b/android/app/src/main/res/anim/layout_drop.xml new file mode 100644 index 0000000..c2421a2 --- /dev/null +++ b/android/app/src/main/res/anim/layout_drop.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index a042b36..83b4542 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -14,6 +14,7 @@ android:paddingBottom="8dp" android:clipToPadding="false" android:clipChildren="false" + android:layoutAnimation="@anim/layout_drop" app:layout_behavior="@string/appbar_scrolling_view_behavior"/>