Android BottomNavigationView + lottie动画 java
时间: 2023-12-14 09:40:24 浏览: 258
Android BottomNavigationView 的使用
好的,下面是一份示例代码:
首先,需要在 app/build.gradle 文件中添加以下依赖:
```
implementation 'com.airbnb.android:lottie:3.4.0'
```
接着,在 XML 布局文件中添加 BottomNavigationView 和 LottieAnimationView:
```xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/bottom_navigation_menu" />
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animation_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/your_animation" />
```
注意,app:lottie_rawRes="@raw/your_animation" 中的 "your_animation" 需要替换为你自己的动画文件名。
接着,在 Java 文件中初始化 BottomNavigationView 和 LottieAnimationView:
```java
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation_view);
LottieAnimationView animationView = findViewById(R.id.animation_view);
```
然后,需要设置 BottomNavigationView 的选项监听器,以便在用户点击不同的选项卡时切换 LottieAnimationView 中的动画:
```java
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_1:
animationView.setAnimation(R.raw.animation_1);
animationView.playAnimation();
break;
case R.id.menu_item_2:
animationView.setAnimation(R.raw.animation_2);
animationView.playAnimation();
break;
case R.id.menu_item_3:
animationView.setAnimation(R.raw.animation_3);
animationView.playAnimation();
break;
}
return true;
}
});
```
注意,R.raw.animation_1、R.raw.animation_2、R.raw.animation_3 需要替换为你自己的动画文件名。
最后,别忘了在 Activity 销毁时停止 LottieAnimationView 中的动画:
```java
@Override
protected void onDestroy() {
super.onDestroy();
animationView.cancelAnimation();
}
```
以上就是整个示例代码,希望能对你有所帮助!
阅读全文