在Android中,要设置ViewSwitcher的切换动画,您需要遵循以下步骤:
dependencies {
implementation 'androidx.viewpager2:viewpager2:1.1.0-alpha01'
}
<androidx.viewpager2.widget.ViewPager2 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.viewpager2.widget.ViewPager2>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0"
android:duration="300" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
</set>
这个动画文件定义了一个从右侧滑入的平移动画和一个淡入的透明度动画,总时长为300毫秒。
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager2.widget.ViewPager2;
public class MainActivity extends AppCompatActivity {
private ViewPager2 viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.viewPager);
// 设置适配器
viewPager.setAdapter(new MyPagerAdapter(this));
// 添加切换动画
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
// 在页面切换时应用动画
viewPager.setEnterAnim(R.anim.view_switcher_animation);
}
});
}
}
现在,当您在ViewPager中切换页面时,应该能看到定义的切换动画效果。