ApiDemos---Fragment的显示和隐藏

来源:互联网 发布:c语言关键字scanf 编辑:程序博客网 时间:2024/05/22 12:51

在ApiDemos工程的FragmentHideShow类中,向我们展示了如何隐藏和显示一个已经添加进来的Fragment。在显示和隐藏时,还可以指定动画。实现步骤如下:

 

1.      获得FragmentManager

FragmentManager fm = getFragmentManager();


2.      获得事务对象,并指定动画:

FragmentTransaction ft =getFragmentManager().beginTransaction();ft.setCustomAnimations(android.R.animator.fade_in,android.R.animator.fade_out);


fade_in.xml和fade_out.xml的内容分别如下:

\sdk\platforms\android-19\data\res\animator\fade_in.xml

<objectAnimatorxmlns:android="http://schemas.android.com/apk/res/android"   android:interpolator="@interpolator/accelerate_quad"   android:valueFrom="0"   android:valueTo="1"   android:propertyName="alpha"   android:duration="@android:integer/config_mediumAnimTime"/>


\sdk\platforms\android-19\data\res\animator\fade_out.xml

<objectAnimatorxmlns:android="http://schemas.android.com/apk/res/android"   android:interpolator="@interpolator/accelerate_quad"   android:valueFrom="1.0"   android:valueTo="0.0"   android:propertyName="alpha"    android:duration="@android:integer/config_mediumAnimTime"/>

 

3.调用show或者hide显示或隐藏Fragment:

 

if (fragment.isHidden()) {                    ft.show(fragment);                    button.setText("Hide");                } else {                    ft.hide(fragment);                    button.setText("Show");                }                ft.commit();

0 0