android 8.0 新功能特性

Android 8.0 为用户和开发者引入多种新功能。本文重点介绍面向开发者的一部分新功能。

请务必查阅 android 8.0 行为变更以了解平台变更可能影响您的应用的领域。

用户体验

自动调整TextView的大小

Android 8.0 允许您根据 TextView 的大小自动设置文本展开或收缩的大小。这意味着,在不同屏幕上优化文本大小或者优化包含动态内容的文本大小比以往简单多了。如需了解有关如何在 Android 8.0 中自动调整 TextView 的大小的详细信息,请参阅自动调整 TextView 的大小

自适应图标

Android 8.0 引入自适应启动器图标。自适应图标支持视觉效果,可在不同设备型号上显示为各种不同的形状。要了解如何创建自适应图标,请参阅自适应图标预览功能指南。

统一的布局内边距和外边距

Android 8.0 让您可以更轻松地指定 View 元素的对边使用相同外边距和内边距的情形。具体来说,您现在可以在布局 XML 文件中使用以下属性:

:如果您自定义应用逻辑以支持不同语言和文化(包括文本方向),请记住,这些属性不会影响 layout_marginStartlayout_marginEndpaddingStart 或 paddingEnd 的值。您可以自行设置这些值和新的垂直与水平布局属性来创建取决于文本方向的布局行为。

findViewById()签名变更

现在,findViewById() 函数的全部实例均返回 <T extends View> T,而不是 View。此变更会带来以下影响:

  • 例如,如果 someMethod(View) 和 someMethod(TextView) 均接受调用 findViewById() 的结果,这可能导致现有代码的返回类型不确定。
  • 在使用 Java 8 源语言时,这需要在返回类型不受限制时(例如,assertNotNull(findViewById(...)).someViewMethod()))显式转换为 View
  • 重写非最终的 findViewById() 函数(例如,Activity.findViewById())将需要更新其返回类型。

智能文本选择

在兼容设备上,Android 8.0 让应用可以帮助用户以更有意义的方式与文本交互。当用户长按某个实体中可识别格式的单词(例如某个地址或餐馆名称)时,系统会选中整个实体。用户会看到一个浮动工具栏,该工具栏包含可以处理所选文本实体的应用。例如,如果系统识别出某个地址,它可以将用户导向地图应用。

系统识别的实体包括地址、网址、电话号码和电子邮件地址。如需了解详细信息,请参阅 TextClassifier

指纹手势

您的无障碍服务也可以响应替代的输入机制,即沿设备的指纹传感器按特定方向滑动(上、下、左和右)。要接收有关这些交互的回调,请完成以下一系列步骤:

  1. 声明 USE_FINGERPRINT 权限和 CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES 功能。
  2. 在 android:accessibilityFlags 属性中设置 FLAG_REQUEST_FINGERPRINT_GESTURES 标志。
  3. 使用 registerFingerprintGestureCallback() 注册回调。

请记住,并非所有设备都包含指纹传感器。您可以使用 isHardwareDetected() 函数识别设备是否支持此传感器。即使对于包含指纹传感器的设备,您的服务也只有在指纹传感器不用于身份验证目的时才可使用它。要识别此传感器何时可用,请调用 isGestureDetectionAvailable() 函数并实现 onGestureDetectionAvailabilityChanged() 回调。

提示文本

Android 8.0 包含可用于与文本可编辑对象的提示文本进行交互的多个函数:

  • isShowingHintText() 和 setShowingHintText() 函数分别显示和设置节点的当前文本内容是否表示节点的提示文本。如果节点不包含可编辑文本,则它不应包含提示文本。
  • 要访问提示文本本身,请使用 getHintText()。即使某个对象当前未显示提示文本,系统也能成功调用 getHintText()

权限

Android 8.0 引入了多个与电话有关的新权限:

这些权限均被划分为危险类别,属于 PHONE 权限组。

参考文档

https://developer.android.com/about/versions/oreo/android-8.0


猜你喜欢

转载自blog.csdn.net/yx1166/article/details/80401517