Android ViewSwitcher

本文介绍了如何在Android应用中使用ViewSwitcher组件实现两个View的切换,并添加了自定义的切换动画效果。通过控制逻辑,展示了如何根据当前显示的View来决定是前进还是后退。

1. 用作两个View切换,布局如下:

<ViewSwitcher
    android:id="@+id/viewSwitcher"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/test1"
        android:text="AAAAA"
        android:gravity="center"
        android:textSize="66sp"
        android:background="@color/purple_200"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    <TextView
        android:id="@+id/test2"
        android:text="BBBBB"
        android:gravity="center"
        android:textSize="66sp"
        android:background="@color/teal_200"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</ViewSwitcher>

2. 控制两个View的切换

if (viewSwitcher.getCurrentView() != test1) {
   viewSwitcher.showNext();
}else {
   viewSwitcher.showPrevious();
}

3. 添加切换动画

TranslateAnimation inAnimation = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0f,
                Animation.ABSOLUTE, 1.0f, Animation.ABSOLUTE, 1.0f);
inAnimation.setDuration(300);
viewSwitcher.setInAnimation(inAnimation);

TranslateAnimation outAnimation = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, -1.0f,
                Animation.ABSOLUTE, 1.0f, Animation.ABSOLUTE, 1.0f);
outAnimation.setDuration(300);
viewSwitcher.setOutAnimation(outAnimation);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值