本例是一个综合的案例,涉及android的多个知识点:
1、动态添加VIEW,动态改变textcolor
2、动态添加fragment
3、切换动画
4、手势控制,实现滑动切换
5、layout透明
在详细阐述本例之前,先看看效果:
在写实现代码之前,先准备一些必要的资料:
一、背景图,我放在drawable-hdpi,各位根据自己的情况去选用适合的,根据分辨率分别放在对应的地方
二、准备转场动画,在项目的res建立一个新目录:anim,里面分别建立4个文件,代表从左边进入、右边退出,右边进入,左边退出
1、in_from_right.xml :从右边进入
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:duration="500"
>
</translate>
2、out_to_left.xml :从左边退出
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0%p"
android:toXDelta="-100%p"
android:duration="500">
</translate>
3、in_to_left .XML :从左边进入(这里的文件名我自己没弄好,不过没关系,暂且这么用着吧)
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="-100%p"
android:toXDelta="0%p"
android:duration="500"
>
</translate>
4、out_to_right.xml :从右边退出
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0%p"
android:toXDelta="100%p"
android:duration="500"
>
</translate>
三、准备一些资源,在res/values,建立一个文件,我这里随便名为test_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="lightseagreen">#20b2aa</color><!--亮海蓝色 -->
<color name="black">#000000</color><!-- 黑色 -->
<color name="gray">#eeeeee</color><!-- 灰色 -->
<color name="gray1">#cccccc</color><!-- 灰色 -->
<color name="white">#ffffff</color><!-- 白色 -->
</resources>