锤子发布会中提到的两个杀手级功能让我这个十分初级的Android开发者产生了一些思考,那就是这两个功能是如何实现的?
这两个功能应该属于系统级的功能,手指接触屏幕的区域大小让我想到之前看过的一篇关于Android触摸事件的文章,其中提到了Android有关于触摸区域大小的Api,接下来找到了一篇2013年的博客

  1. MotionEvent的几个函数
    下面的方法都支持多点触摸,即可以对单个触摸点调用下面的方法
    1.1 getPressure()
    这个api 可以获取到手指触摸屏幕时候的压力,但是需要硬件和驱动支持...
    它有助于我们做出更加拟物化的设计,比如:

  2. 手绘。可以根据手指压力更好地模拟画笔的出息和颜色的深浅,让人感觉更真实。

  3. 对控件的点击操作。 可以根据手指压力来设置控件(如按钮)的pressed效果,比如下凹的幅度。

  4. 新操作方式。及手指不离开屏幕,通过调整手指压力来达到操作目的,比如模拟汽车加油门
    1.2 getSize()
    获取手指触摸屏幕时与屏幕的接触面积
    这个可以用来识别fattouch events,也就是很大面积的触摸事件,这个时候往往有可能是用户的误操作。
    1.3 getToolType()
    获取触发当前事件的物体类型:手指、触控笔或者鼠标(触控版)
    这个我也没想到有啥用处。。。

  5. ClipData
    ClipData.addItem(ClipData.Item item)
    这个api可以将文本、资源地址和Intent放在一个ClipData对象里面,然后保存在系统的剪切板中,而系统的剪切板是可以跨应用程序传递数据的,因此可以支持以下功能:

  6. 跨应用程序复制、粘贴各种文件(图片、视频)等,类似windows的剪切板。

  7. 由于资源地址可以是本地或者来自网络,因此还可以直接copy网络端的资源,类似于PC端的有道云笔记,直接将网页的内容copy到本地。ClipData本身已经支持带HTML标签的格式化文本了。。

  8. 直接copy应用程序的快捷方式,Intent就相当于启动一个界面的快捷方式,因此理论上讲可以copy跳转到应用程序任何界面的快捷方式,比如拨打某人的电话,发起和某人的视频聊天。

1.3 Vibrator
Vibrator.vibrate (long[] pattern, intrepeat)
这个api可以控制震动马达的节奏,可以支持一下功能:

  1. 让用户自定义震动节奏,iOS已经有这个功能了。
  2. 内置几套震动节奏,和闹铃铃音配合好,增加趣味性。

更多相关文章

  1. Android实现截屏与截长图功能
  2. [置顶] Android仿UC浏览器左右上下滚动功能(附源码)
  3. Android音频编辑之音频合成功能
  4. Android(安卓)- 小功能 - Android中dp和px之间进行转换
  5. Cyclone2d Android手机游戏引擎通用版本,永久免费使用+开源引擎
  6. 从Titlebar到Actionbar再到Toolbar
  7. Android(安卓)关于录音文件的编解码 实现米聊 微信一类的录音上
  8. Android增量升级功能
  9. Android(安卓)6.0 悬浮窗默认关闭解决方案

随机推荐

  1. android sharedpreference保存boolean,int
  2. Android开发小技巧 | 一句命令搞定截屏
  3. Android Launcher研究(一)-----------图
  4. android开发游记:android studio工程 转换
  5. android点滴(8) -- android应用程序的生
  6. Android中如何使控件保持固定宽高比
  7. [置顶] Android开发之动态库调用
  8. 在iOS / Android的统一字体问题
  9. android背景选择器selector用法、自定义B
  10. Android 中Activity生命周期分析:Android