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);
}
};
相关推荐
模态视图实现两个视图间的相互切换和穿数据.
(3)在已有视图上定义的新视图:建立价格小于1000元的‘奔驰’品牌的汽车配件视图。 (4)表达式的视图:建立每个会员的购物信息视图(包含会员编号、会员名称、创建时间、汽车配件编号、汽车配件名称、单价、数量...
MFC多文档应用程序同时显示两个视图,通过创建多个CMultiDocTemplate* 进行实现
底部:对话框将显示在屏幕底部,并显示动画 DialogPlus提供3种内容类型: ListHolder:项目将显示在列表视图中 GridHolder:项目将显示在gridview中 ViewHolder:您的自定义视图将显示在内容中 Gradle ...
是一个按钮切换两个控制器的demo,两个控制器之间可以自定义
为了让活动能不断更新视图控件的内容,为每一个视图控件绑定动画特效显得非常繁琐,但是Android SDK提供的ViewSwitcher控件,能够高效简便地更新视图。 此程序实现了imageswitcher的应用,并附带图片滑动效果
集合视图转换(翻页),此示例演示如何创建一个自定义转换时由导航控制器管理导航层次结构中的两个集合视图之间导航。转换可以中断,并扭转。它使用 UICollectionViewTransitionLayout 的子类来帮助转型的基于手势的...
两种动画都分为代码控制和XML控制视图动画的效果。 代码控制视图动画 XML控制视图动画 代码控制属性动画 XML控制属性动画 总共这四部分。 每一部分都有旋转、缩放、平移、透明度、组合等几个部分。 非常适合初学者...
抖音直播间赠送礼物飘屏动画; 赠送金币动画; 赠送礼物动画; 可单独显示; 可混合显示; 可设置多个礼物集合自动轮播显示; 可自定义设置显示动画和时长; 可自定义UI界面; 可自定义任何代码实现; 源码开源; 可...
显示一个文档两个视图的程序 好东西 自己看看吧
用pagecontrol实现视图转换动画
在添加网格视图项目时对其进行动画处理,并且每个网格视图项目都有一个卡片翻转动画。 这个完整的演示显示了一个GridView,列表中的每个项目都带有自定义的Card Flip动画。 动画是通过附加到每个GridView项View的...
2个集合视图布局之间的自定义转换动画(Yalantis出品).zip,两个集合视图布局之间的自定义转换
1. 修改目标格式 目标格式一定要小写 比如 avi mov等等甚至支持m3u8格式 支持90%的常见视频格式 然后拖入视频文件即可 支持多个文件拖入 转换过程中会出现黑色弹窗可以看到进度 关闭灰色弹窗代表取消 转换成功会在原...
一个包装视图,允许用户以自然的方式在两个位置之间移动子视图。 可以通过触摸动画或控制过渡。 动画可以随时中断,控制权返回给用户。 视频 用法 设置空间视图。 // Layout UBRSpaceView * spaceView = [...
android 视图动画的代码
iOS常用视图切换动画 博客文章:http://blog.csdn.net/z251257144/article/details/8230025
该源码是ios视图互相转换过渡动画(Animation)效果源码,源码FGDynamicsTransition,FGDynamicsTransition是展示两个底层视图互相转换过渡的动画效果的工具,该效果有点弹跳的效果的显示的,个人感觉还是不错的,喜欢...
主要技术点:ViewSwitcher(它只能添加两个子view,有兴趣的可以修改源码,继承使用,使它支持更多的视图,但不建议这么做),另外就是handler调用runnable了。有兴趣的下载下吧,本例只收你1分!
第7章介绍了在Odoo中创建和自定义...每个视图都在XML文件中定义,并且通过练习引导用户如何自定义这些视图,同时强调了在自定义过程中注意保持视图ID的唯一性和使用开发模式参数(`--dev xml`)来方便地查看视图修改。