Android 平台功能
开发适用于 Android 的 Xamarin.Forms 应用程序需要 Visual Studio。 支持的平台页包含了有关先决条件的详细信息。
平台特定内容
通过平台特定的功能可以使用仅在特定平台上提供的功能,而无需实现自定义渲染器或效果。
为 Android 上的 Xamarin.Forms 视图、页面和布局提供以下特定于平台的功能:
- 控制视觉元素的 Z 顺序以确定绘制顺序。 有关详细信息,请参阅 Android 上的 VisualElement 高程。
- 在支持的
VisualElement
上禁用旧颜色模式。 有关详细信息,请参阅 Android 上的 VisualElement 旧颜色模式。
为 Android 上的 Xamarin.Forms 视图提供以下特定于平台的功能:
- 使用 Android 按钮的默认填充和阴影值。 有关详细信息,请参阅 Android 上的按钮填充和阴影。
- 为
Entry
的软键盘设置输入方法编辑器选项。 有关详细信息,请参阅 Android 上的输入法编辑器选项。 - 在
ImageButton
上启用投影。 有关详细信息,请参阅 Android 上的 ImageButton 投影。 - 在
ListView
中启用快速滚动。 有关详细信息,请参阅 Android 上的 ListView 快速滚动。 - 控制打开
SwipeView
时使用的切换。 有关详细信息,请参阅 SwipeView 轻扫过渡模式。 - 控制
WebView
是否可以显示混合内容。 有关详细信息,请参阅 Android 上的 WebView 混合内容。 - 在
WebView
上启用缩放。 有关详细信息,请参阅 Android 上的 WebView 缩放。
为 Android 上的 Xamarin.Forms 单元格提供以下特定于平台的功能:
- 启用
ViewCell
上下文操作旧模式,以便当ListView
中的所选项发生更改时,上下文操作菜单不会更新。 有关详细信息,请参阅 Android 上的 ViewCell 上下文操作。
为 Android 上的 Xamarin.Forms 页面提供以下特定于平台的功能:
- 设置
NavigationPage
上的导航栏的高度。 有关详细信息,请参阅 Android 上的 NavigationPage 栏高度。 - 在
TabbedPage
中禁用导航到不同页面时的过渡动画。 有关详细信息,请参阅 Android 上的 TabbedPage 页面过渡动画。 - 在
TabbedPage
中启用页面之间的轻扫。 有关详细信息,请参阅 Android 上的 TabbedPage 页面轻扫。 - 设置
TabbedPage
上的工具栏位置与颜色。 有关详细信息,请参阅 Android 上的 TabbedPage 工具栏位置和颜色。
为 Android 上的 Xamarin.FormsApplication
类提供以下特定于平台的功能:
- 设置软键盘的操作模式。 有关详细信息,请参阅 Android 上的软键盘输入模式。
- 对于使用 AppCompat 的应用程序,将分别在暂停和恢复时禁用
Disappearing
和Appearing
页面生命周期事件。 有关详细信息,请参阅 Android 上的页面生命周期事件。
平台支持
最初,默认的 Xamarin.Forms Android 项目使用 Android 5.0 之前常见的旧式控件呈现方式。 使用模板生成的应用程序将 FormsApplicationActivity
用作其主活动的基类。
通过 AppCompat 进行材料设计
Xamarin.Forms Android 项目现在使用 FormsAppCompatActivity
作为其主活动的基类。 此类使用 Android 提供的 AppCompat 功能来实现材料设计主题。
下面是使用默认 FormsApplicationActivity
的 Todo 示例:
这是升级项目以使用 FormsAppCompatActivity
(并添加附加主题信息)后的相同代码:
注意
使用 FormsAppCompatActivity
时,某些 Android 自定义渲染器的基类将会不同。
AndroidX 迁移
AndroidX 取代了 Android 支持库。 若要了解 AndroidX 以及如何迁移 Xamarin.Forms 应用以使用 AndroidX 库,请参阅 Xamarin.Forms 中的 AndroidX 迁移。