Я использую android конструкций поддержки BottomNavigationView
для навигации по нижней вкладке.
<android.support.design.widget.BottomNavigationView
android:id="@+id/main_nav"
android:layout_width="match_parent"
android:layout_height="56dp"
app:labelVisibilityMode="unlabeled"
app:itemIconSize="40dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
app:itemBackground="@color/blue_active"
app:menu="@menu/nav_items">
</android.support.design.widget.BottomNavigationView>
Я пытаюсь сделать следующее:
Программно анимировать вкладку (меню ) значок с ObjectAnimator
при нажатии
Это меню:
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_home"
android:title="@string/nav_home" />
<item
android:id="@+id/nav_games"
android:icon="@drawable/games"
android:title="@string/nav_games" />
<item
android:id="@+id/nav_profile"
android:icon="@drawable/profile"
android:title="@string/nav_profile" />
</menu>
Код:
mMainNav.setOnNavigationItemSelectedListener { item ->
when (item.itemId) {
R.id.nav_home -> {
//item.icon is drawable
var myAnimation = ObjectAnimator.ofFloat(item.icon,"rotation",0f,360f)
myAnimation.duration = 500
myAnimation.start() //nothing happens
setFragment(HomeFragment)
true
}
С этим ничего не происходит без анимации .
Что не так? Должен ли я использовать другой способ для анимации, или я просто применяю это неправильно?
Я попытался анимировать просмотр изображений с помощью значка, который можно нарисовать, а затем установить его в качестве элементов actionview, но это также не работает. (Происходит некоторая реакция, но возникает какое-то странное поведение),
var drawable = applicationContext.getDrawable(R.drawable.ic_home)
var someImageView = ImageView(this)
someImageView.setImageDrawable(drawable)
var myAnimation = ObjectAnimator.ofFloat(someImageView,"rotation",0f,100f)
myAnimation.duration = 2000
myAnimation.start()
item.actionView = someImageView
ссылка на награду сломан, пожалуйста, проверьте это: https://streamable.com/99pa8