Animate Display Hosts on Android

This commit is contained in:
Florian Märkl 2019-10-20 21:54:33 +02:00
commit 454d8048df
No known key found for this signature in database
GPG key ID: 125BC8A5A6A1E857
4 changed files with 25 additions and 1 deletions

View file

@ -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) }

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="200">
<translate
android:fromXDelta="20%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"/>
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/decelerate_interpolator"/>
</set>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation
xmlns:android="http://schemas.android.com/apk/res/android"
android:animation="@anim/item_drop"
android:delay="15%"
android:animationOrder="normal" />

View file

@ -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"/>
<FrameLayout