`
zhengdl126
  • 浏览: 2543158 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

ViewSwitcher:在两个视图间转换时显示动画

 
阅读更多

 ViewSwitcher 的作用简单来说就是:在两个视图间转换时显示动画

它的两个子类应该很熟悉,ImageSwitcher:转换图片时增加动画效果;TextSwitcher:转换文字时增加动画效果;其实例见apidemos中ImageSwitcher实例和TextSwitcher实例

但不要忽略ViewSwicher,在一些场合还是很有用的

在android里视图切换是一个很常见的需求,比如说加载view和后台背景,当后台加载数据时,loding view显示,数据View隐藏,加载完成,反向此过程。使用ViewSwicher提供了简单的逻辑,产生更可读的代码。

 

 

 

 

 

 ================ 实例:异步获取网络信息时候的等待切换效果

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/listcolor"
    android:orientation="vertical" >
   
    <include layout="@layout/header_bar"/>
   
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ViewSwitcher
            android:id="@+id/viewswitcher_news_top"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center" >
        </ViewSwitcher>

        <ListView
            android:id="@+id/favorite_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:cacheColorHint="@color/transparent"
            android:divider="@drawable/tip_line" />
    </FrameLayout>

</LinearLayout>

 

 

 

 

 

 

 

private ViewSwitcher viewSwitcher;

...

viewSwitcher = (ViewSwitcher) findViewById(R.id.viewswitcher_news_top);
        viewSwitcher.addView(getLayoutInflater().inflate(
                R.layout.layout_progress_page, null));
...

private void requestData() {
        viewSwitcher.setVisibility(View.VISIBLE);
        viewSwitcher.showNext();
        Thread t = new Thread() {
...

Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            if (msg.what == 1) {
                mAdapter = new ItemAdapter();
                mList.setAdapter(mAdapter);
                mList.setOnItemClickListener(listener);
            }
            viewSwitcher.setVisibility(View.INVISIBLE);
        };
    };

 

 =================== 可见状态

 

View缺省为可见的,在应用可以通过setVisibility 修改View的可见性,View可用性可以有如下三种状态:

  • View.VISIBLE View可见
  • View.INVISIBLE View不可以见,但仍然占据可见时的大小和位置。
  • View.GONE View不可见,且不占据空间。

本例使用三个按钮来修改View B的可见性:

 


OnClickListener mVisibleListener = new OnClickListener() {
 public void onClick(View v) {
 mVictim.setVisibility(View.VISIBLE);
 }
};

OnClickListener mInvisibleListener = new OnClickListener() {
 public void onClick(View v) {
 mVictim.setVisibility(View.INVISIBLE);
 }
};

OnClickListener mGoneListener = new OnClickListener() {
 public void onClick(View v) {
 mVictim.setVisibility(View.GONE);
 }
};

 

 



 

 

 

 
 
 
  • 大小: 38.3 KB
分享到:
评论

相关推荐

    安卓动画效果相关-AndroidScreenSlide项目切换view动画效果.rar

    1. **Transition Animation**:当Activity或Fragment之间切换时,可以使用Transition API来定义过渡动画,使两个视图之间的转换更加自然。 2. **ViewFlipper和ViewSwitcher**:这两个是Android提供的内置组件,可以...

    android 3d 切换界面效果

    通过自定义这些组件的`inAnimation`和`outAnimation`,可以实现两个视图之间的平滑过渡。例如,可以设置一个视图在消失时向左平移并缩小,同时另一个视图从右侧以相反的动画进入,模拟出3D翻页效果。 3. **组合动画...

    android3d-demo

    3. **ViewFlipper与ViewSwitcher**: 这是Android提供的两个布局组件,可以用来实现视图之间的切换,结合动画可以实现简单的3D翻转效果。 4. **SurfaceView与TextureView**: SurfaceView和TextureView是Android中...

    android 3D旋转相册

    4. **ViewFlipper和ViewSwitcher**:这两个视图切换组件可以在用户交互后切换显示的视图,可以用于实现相册页面的翻转效果。但要注意,它们默认只支持2D转换,若要实现3D效果,需要自定义动画。 5. **CardView和...

    android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题[文].pdf

    - `ViewSwitcher`是Android中的一个动画视图容器,它可以切换两个子视图,并在切换过程中提供动画效果。在示例中,`ImageSwitcher`可能用于连续显示从PC接收的图片。 - `AnimationUtils.loadAnimation()`可以加载...

    Android应用源码模拟立体翻转效果,非Gallery实现-IT计算机-毕业设计.zip

    在Android中,有两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的属性,如位置、大小、透明度等,而帧动画则类似于电影胶片,显示一系列静态图像来形成连续...

    ImageSwither实现3d图片轮播 手势轮播

    ImageSwitcher是Android SDK中的一个视图类,它继承自ViewSwitcher,主要用于在两个视图之间进行平滑过渡。通常用于显示连续变化的图像,如广告轮播或图片展示。ImageSwitcher提供了自动切换和手动切换两种方式。在...

    Android_Grallery常用酷炫效果

    `ImageSwitcher`是Android中一个非常有用的视图切换器,它主要用于在两个图像之间平滑地切换,常用于实现图片预览或者动态更换图片的效果。`ImageSwitcher`继承自`ViewSwitcher`,并且添加了自动管理`ImageView`子...

    android图片浏览器

    `ViewSwitcher`是Android自带的一个视图切换器,可以用于在两个视图之间切换,而`TestImageSwitcher`可能是对其进行了定制以适应图片浏览的需求。 3. **手势识别**:为了增强交互性,图片浏览器往往支持捏合缩放、...

    基于Android实现3D翻页效果

    这种布局设计允许我们方便地在两个视图之间切换。 为了实现3D翻页效果,我们需要使用Android的动画系统。在Android中,可以使用`Animation`类及其子类(如`AlphaAnimation`、`ScaleAnimation`、`TranslateAnimation...

    android开发源码

    ImageSwitcher是ViewSwitcher类的一个子类,主要用于在两个ImageView之间进行切换,通常用于实现图片轮播或动画效果。通过查看源码,我们可以学习如何设置监听器,动态加载图片,以及如何平滑地在不同图片之间切换。...

Global site tag (gtag.js) - Google Analytics