mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-19 21:13:12 -07:00
Animate Display Hosts on Android
This commit is contained in:
parent
44795194ab
commit
454d8048df
4 changed files with 25 additions and 1 deletions
|
@ -24,6 +24,7 @@ import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.animation.AnimationUtils
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import androidx.lifecycle.ViewModelProviders
|
import androidx.lifecycle.ViewModelProviders
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
@ -72,7 +73,10 @@ class MainActivity : AppCompatActivity()
|
||||||
val recyclerViewAdapter = DisplayHostRecyclerViewAdapter()
|
val recyclerViewAdapter = DisplayHostRecyclerViewAdapter()
|
||||||
hostsRecyclerView.adapter = recyclerViewAdapter
|
hostsRecyclerView.adapter = recyclerViewAdapter
|
||||||
hostsRecyclerView.layoutManager = LinearLayoutManager(this)
|
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 ->
|
viewModel.discoveryActive.observe(this, Observer { active ->
|
||||||
discoveryMenuItem?.let { updateDiscoveryMenuItem(it, active) }
|
discoveryMenuItem?.let { updateDiscoveryMenuItem(it, active) }
|
||||||
|
|
13
android/app/src/main/res/anim/item_drop.xml
Normal file
13
android/app/src/main/res/anim/item_drop.xml
Normal 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>
|
6
android/app/src/main/res/anim/layout_drop.xml
Normal file
6
android/app/src/main/res/anim/layout_drop.xml
Normal 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" />
|
|
@ -14,6 +14,7 @@
|
||||||
android:paddingBottom="8dp"
|
android:paddingBottom="8dp"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:clipChildren="false"
|
android:clipChildren="false"
|
||||||
|
android:layoutAnimation="@anim/layout_drop"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue