Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin.
Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable Resource File.
Моя анимация, состоящая из двух градиентов, описывается вот таким xml файлом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="2000"> <shape> <gradient android:angle="45" android:startColor="#DFF0F0" android:endColor="#17DAC1"> </gradient> </shape> </item> <item android:duration="2000"> <shape> <gradient android:angle="135" android:startColor="#0A1FDF" android:endColor="#DA17c6"> </gradient> </shape> </item> </animation-list> |
Сохраним её как gradient_list.xml.
Теперь данную анимацию нужно подключить к ActionBar вашего AppCompatActivity и запустить.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class MainActivity: AppCompatActivity() { override fun onStart() { super.onStart() // Настраиваем и запускаем анимацию градиента supportActionBar?.apply { val grAnimation = getDrawable(R.drawable.gradient_list) as AnimationDrawable grAnimation.setEnterFadeDuration(2000) grAnimation.setExitFadeDuration(2000) setBackgroundDrawable(grAnimation) grAnimation.start() } } } |