简述android中的动画,Android场景动画(Scene)

一 概述

Scene 是Android 19 引入的转换框架中一个场景api,帮我们友好的创建开始布局Scene和结束布局Scene,有了开始Scene和结束Scene,运用Transition框架来实现带有动画的场景切换。举个例子,从A布局切换到B布局,一般情况下处理是View.GONE,View.VISIBLE,但是这样太生硬了,没有一点过度效果。那么Android的Transition框架就可以完美的解决切换场景带来的生硬视觉感受。

其中Scene是一个容器,就是放置你定义的布局,而真正去做场景之间切换这个动作是Transition框架中TransitionManager 调用其中go方法或者transitionTo方法完成场景之间切换,而真正创建具体动画交由Transition子类来完成,开始动画交给Transition来执行。

二 使用

f2c8036985e9

image

这里一共有4个场景,这里先说前3个。每次切换都带有移动效果。在切换到第三个场景时,单独给第三个场景中TextView添加了淡入和淡出动画效果。

那么如果让我们去实现这样一个场景切换,可能会想到在一个布局中给不同的元素设置不同的动画,还得监听每个动画完成后显示第二个场景中的元素。这样写出来很难阅读和维护,如果再加一个元素,又得监听以及显示和隐藏。

那么如何实现前三个场景切换呢?其实这三个场景对应三个layout.xml。每一个layout.xml对应一个Scene,各自之间不耦合,至于具体动画创建和偏移计算交给Transition子类来处理,TransitionManager 只是用于做控制流程。

f2c8036985e9

还是看看官方提供的流程图

上述中gif图代码如下:

创建布局文件

...

>

...>

android:id="@+id/select_scene_1"

...

>

android:id="@+id/select_scene_2"

...>

android:id="@+id/select_scene_3"

...

>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android蓝牙的基本操作包括以下几个方面: 1. 获取蓝牙适配器 在使用蓝牙功能之前,需要先获取蓝牙适配器。可以通过调用`BluetoothAdapter.getDefaultAdapter()`方法获取默认的蓝牙适配器,如下所示: ``` BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); ``` 2. 搜索设备 获取蓝牙适配器之后,可以进行设备搜索。可以通过调用`bluetoothAdapter.startDiscovery()`方法启动设备搜索,也可以通过调用`bluetoothAdapter.cancelDiscovery()`方法取消设备搜索。搜索设备需要时间,可以通过注册广播接收器来接收搜索结果。 ``` bluetoothAdapter.startDiscovery(); // 取消搜索 bluetoothAdapter.cancelDiscovery(); ``` 3. 连接设备 搜索到设备之后,需要连接设备。可以通过调用`BluetoothDevice.createRfcommSocketToServiceRecord()`方法创建一个用于通信的Socket对象。连接设备需要时间,可以通过异步线程来连接设备。 ``` BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID); socket.connect(); ``` 4. 数据传输 连接设备之后,可以进行数据传输。可以通过获取BluetoothSocket对象的InputStream和OutputStream对象进行数据的读写操作。 ``` InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); ``` 5. 监听蓝牙状态 在使用蓝牙功能时,需要监听蓝牙的状态。可以通过注册广播接收器来接收蓝牙状态的变化。 ``` <receiver android:name=".BluetoothStateReceiver"> <intent-filter> <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> </intent-filter> </receiver> ``` 以上就是Android蓝牙的基本操作。开发者可以根据自己的需求进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值