何时使用AppCompatView与普通Android视图

何时使用AppCompatView与普通Android视图,android,android-appcompat,Android,Android Appcompat,使用它们之间有什么区别,什么时候应该使用它们 AppCompatView的文档示例如下: 可识别颜色的编辑文本。这将在您使用时自动使用 编辑版面中的文本。您应该只需要手动使用此选项 在编写自定义视图时初始化 为什么AppCompatView只能用于自定义视图 有一个问题,但我正在寻找一个很好的解释,为什么AppCompatView只能用于自定义视图。一些材质设计功能,如材质主题和自定义活动转换,仅在Android 5.0(API级别21)及更高版本上可用。但是,当在支持材质设计的设备上运行时,您

使用它们之间有什么区别,什么时候应该使用它们

AppCompatView
的文档示例如下:

可识别颜色的编辑文本。这将在您使用时自动使用 编辑版面中的文本。您应该只需要手动使用此选项 在编写自定义视图时初始化

为什么
AppCompatView
只能用于自定义视图


有一个问题,但我正在寻找一个很好的解释,为什么
AppCompatView
只能用于自定义视图。

一些材质设计功能,如材质主题和自定义活动转换,仅在Android 5.0(API级别21)及更高版本上可用。但是,当在支持材质设计的设备上运行时,您可以设计应用程序以利用这些功能,并且仍然与运行Android早期版本的设备兼容

Que->为什么AppCompatView只能用于自定义视图

简单来说,AppCompatView用于。如果您的应用程序使用的材质主题与
主题.Material一样,但未提供替代主题,则您的应用程序将不会在早于5.0的Android版本上运行

如果您根据材料设计指南设计的布局没有使用Android 5.0(API级别21)中引入的任何新XML属性,那么它们将在以前版本的Android上工作。否则,您可以提供其他布局。您还可以提供其他布局来定制应用程序在早期版本Android上的外观

使用AppCompat制作向后兼容的材质设计Android应用程序要容易得多,特别是当您了解其样式和主题如何协同工作以动态着色用户界面时

使用AppCompat,您应该少花时间摆弄资产和向后兼容性,多花时间专注于实际构建应用程序。

目前,通过AndroidStudio创建的新项目默认包含此库

注意:此库依赖于v4支持库

下面是一些参考链接


  • 在布局中,您应该使用“普通”视图,因为支持库会自动注入兼容代码。
    只有在编写新的自定义视图时,才需要支持库提供的类。在这种情况下,您必须扩展AppCompat视图才能获得新属性(如色调)。

    是的,但为什么需要扩展
    AppCompat
    视图才能做到这一点?AppCompat视图仅在您在布局中使用普通视图时才会被注入,以取代普通视图。扩展普通视图时,您将只具有普通视图的功能,而不具有AppCompat功能。