当前位置: 首页 > news >正文

阿里云商业网站建设视频南阳建设网站制作

阿里云商业网站建设视频,南阳建设网站制作,024 网站推广,网站备案加速原文链接#xff1a;http://android.xsoftlab.net/training/transitions/transitions.html 在转场框架中#xff0c;动画是由一帧帧的图像连续绘制形成的#xff0c;这一帧帧的图像描述了启动场景到结束场景的整个过程。转场框架将这些动画作为一个转场对象,这个对象包含了…原文链接http://android.xsoftlab.net/training/transitions/transitions.html 在转场框架中动画是由一帧帧的图像连续绘制形成的这一帧帧的图像描述了启动场景到结束场景的整个过程。转场框架将这些动画作为一个转场对象,这个对象包含了动画的相关信息。如果要运行动画需要提供一个转场对象及结束场景对象给转场管理者。 这节课将会学习如何在场景转换中使用平移、缩放及淡入淡出动画。下节课将会学习如何定义自定义动画。 创建转场 在前面的课程中我们学习了如何创建场景动画的相关知识。在定义了启动场景结束场景之后还需要创建一个Transition对象。转场框架允许使用内置的转场对象或动态创建的转场对象。 由资源文件创建转场对象 这项技术的优点是不用修改Java代码就可以实现转场定义的修改。这项技术还可以将复杂形式的转场定义代码分离成简单的形式更多的信息请参见Specify Multiple Transitions。 如果要使用内置的转场资源主要执行以下步骤 1.在工程中添加目录res/transition/。2.在上面的目录中创建一个新的XML资源文件。3.添加一个内置的转场节点到该文件中。 下面的示例代码使用了Fade转场动画 res/transition/fade_transition.xml fade xmlns:androidhttp://schemas.android.com/apk/res/android / 下面的代码段展示了如何加载转场资源 Transition mFadeTransition TransitionInflater.from(this).inflateTransition(R.transition.fade_transition); 动态创建转场对象 这项技术可以在代码中动态的创建转场对象使得可以在代码中修改UI界面。创建简单的内置转场实例只需要少量的参数。 如果要创建内置的转场实例需要调用类Transition子类其中的一个构造方法即可。下面的示例创建了一个Fade转场的实例 Transition mFadeTransition new Fade(); 使用转场动画 通常需要使用转场动画来响应某些事件比如用户的输入行为。考虑有这么一种情景当用户输入了要搜索的关键词按下了搜索按钮接下来APP会变换场景变换后的场景显示了搜索之后的结果并且原来场景的输入框与搜索按钮会被隐藏。 为了使动画可以响应用户的某些输入需要调用静态方法 TransitionManager.go()并需要传入结束场景及转场动画 TransitionManager.go(mEndingScene, mFadeTransition); 转场动画由转场实例所指定的结束场景开始这里的启动场景是上一个转场动画的结束场景。如果没有上一个转场那么启动场景会根据当前的UI状态自动决断。 如果没有指定转场实例那么转场管理者会采用一种自动转场的动画。有关更多信息请参见TransitionManager类。 选择指定的目标View 默认情况下转场框架可以对所有的View执行转场。不过在某些情况下可能需要将转场动画作用在View的子集上。比如转场框架并不支持在ListView对象上使用动画所以不要试图在ListView上使用动画。不过转场框架允许选择指定的View来使用动画。 每一个可以作用转场动画的View都被称为target.不过只可以选择其中一个与场景相关的部分. 如果要从target列表中要移除View需要在启动转场之前调用removeTarget()方法。如果要往target列表中添加View调用addTarget()方法即可。有关更多信息请参见Transition类。 多重转场 为了能使动画引起更多的关注应该使动画的类型与所发生的事件相匹配。比如说在移除某些View的时候使用淡出效果会在潜意识中告诉用户这个View不再可用。再比如在屏幕上移动View最好的方式就是使用动画可以描述整个移动过程以便让用户注意到View移动到了新的位置上。 你大可不必纠结选哪一种动画才好转场框架提供了一种整合动画的能力它可以将内置动画或者自定义动画整合到一起一同执行。 如果要在XML中定义转场集合需要在res/transitions/目录下创建一个资源文件然后在文件中列出各个转场动画。下面的代码段定义了与AutoTransition类相同特性的定义 transitionSet xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:transitionOrderingsequentialfade android:fadingModefade_out /changeBounds /fade android:fadingModefade_in / /transitionSet 如要加载上述的转场集合需要调用TransitionInflater.from()方法。由于TransitionSet继承了Transition所以可以像普通的Transition对象一样使用Transition对象集合。 在非场景中使用转场动画 更改View层级并不是修改UI界面的唯一方式。除此之外还可以在单一层级中通过添加修改移除的方式更改用户界面。比如说可以通过单一的布局来实现搜索界面。这个布局刚开始只显示了一个搜索的输入框与一个搜索图标。如果要显示搜索结果需要在用户点击搜索按钮的时候通过调用ViewGroup.removeView()方法移除搜索按钮然后通过ViewGroup.addView()方法添加搜索结果。 你可能在与上述情况相似的情况下采用过类似的解决方式。比起采用两个单独的布局文件而言采用动态修改单个布局文件的方式也可以完成相同的效果。 如果要实现上面的情景那么则不需要创建场景。相反你可以使用延迟转场动画实现这种情况。转场框架的这个特性由当前View层级的状态开始记录了该View层级的变化状态最终在系统重绘UI时将转场应用到这个过程。 如果要使用单一的View层级创建延迟转场需要执行以下步骤 1.如果要触发转场事件的发生则需要调用TransitionManager.beginDelayedTransition()方法该方法暴露了两个参数1.执行更改View的父View2.要使用的转场动画。转场框架会存储更改View的当前状态及属性值。 2.要更改的View一定是跟使用情况相关的。转场框架会记录更改View的改变过程及属性。 3.在系统重绘用户界面的过程中转场框架会在这个过程中执行动画。 下面的示例展示了如何使用延迟转场动画添加TextView。第一段定义了布局文件 res/layout/activity_main.xml RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:idid/mainLayoutandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent EditTextandroid:idid/inputTextandroid:layout_alignParentLefttrueandroid:layout_alignParentToptrueandroid:layout_widthmatch_parentandroid:layout_heightwrap_content /... /RelativeLayout 第二段定义了动画添加TextView的代码 private TextView mLabelText; private Fade mFade; private ViewGroup mRootView; ... // Load the layout this.setContentView(R.layout.activity_main); ... // Create a new TextView and set some View properties mLabelText new TextView(); mLabelText.setText(Label).setId(1); // Get the root view and create a transition mRootView (ViewGroup) findViewById(R.id.mainLayout); mFade new Fade(IN); // Start recording changes to the view hierarchy TransitionManager.beginDelayedTransition(mRootView, mFade); // Add the new TextView to the view hierarchy mRootView.addView(mLabelText); // When the system redraws the screen to show this update, // the framework will animate the addition as a fade in 定义转场的生命周期回调 转场的生命周期与Activity的生命周期非常类似。它代表了由TransitionManager.go()方法开始到动画执行结束之间的完整的时间过程。在重要的生命过程中转场框架会调用TransitionListener接口所定义的回调。 这些回调是极有用的比如说在场景转变的过程中复制View的属性值。你不能简单的将开始时View的值拷贝到结束时的View上因为在转场完成之前结束中的View层级还没有完全被填充。相反的你可以将值拷贝到一个变量中然后在转场框架结束的时候将值拷贝到View层级中。为了可以在转场完成的时候获得通知可以在Activity中实现TransitionListener.onTransitionEnd()方法。 有关更多信息请参见TransitionListener类的相关说明。
http://www.yutouwan.com/news/276495/

相关文章:

  • 网站建设报价单表格模板用自己电脑做服务器建网站
  • 重庆工业建设网站安徽网站开发项目
  • 网站开发硬件配置织梦cms网站更新
  • 网站目录 index.html大连建设工程信息网华宇凤凰城东侧市政管网配套工程
  • 手机网站开发合同西安云众网站建设
  • 如何宣传自己的网站登陆wordpress忘记密码
  • 好的网站标准科技部 咖啡
  • 灵山县建设局网站店铺运营计划方案
  • 云服务器怎么架设网站html5的网站有哪些
  • 网站建设搜索信息系统开发计划
  • 广东住房和城乡建设厅网站造价为自家企业做网站
  • 视频网站 怎么做企业网站的建设有哪些经典问题
  • 网站建设与管理 课件网页编辑布局在线
  • 网站业务员怎么给客户做方案我做的网站怎么是危险网站
  • 阿里云虚拟主机网站网站建设维护培训
  • 东城企业网站建设flash打开网站源码
  • dede宠物网站模板常州网站建设基本流程
  • 学校网站建设方案论文信阳网站设计
  • 青岛城阳 软件网站开发网站托管做的好的公司
  • 优秀网站设计欣赏学校网站用途
  • 仲恺住房和城乡建设局网站网站开发与管理对应的职业及岗位
  • 360如何做免费的网站建设网站备案不通过怎么办
  • 颍上网站建设wordpress归档页面自定义
  • 镇江润州区建设局网站设计一个app的流程
  • 怎么在网站做推广不要钱基于lnmp做wordpress
  • 网站规划与建设ppt2022年注册公司流程
  • 厦门网站开发网站建设网站免费购物平台都有哪些
  • php初学者网站网站换域名只做首页301
  • 太原建站推广舆情分析师是干嘛的
  • 怎样更新网站文章上海外贸网站推广