使用它们之间有什么区别,它们应该何时使用?
AppCompatView
的文档示例如下:
一种淡淡的EditText。这将在您使用时自动使用 您的布局中的EditText。您只需要手动使用它 编写自定义视图时的类
为什么AppCompatView
仅用于自定义视图?
有一个similar question,但我正在寻找一个很好的解释,为什么AppCompatView
只能用于自定义视图。
答案 0 :(得分:11)
材料主题和自定义活动过渡等材料设计功能仅适用于Android 5.0(API级别21)及更高版本。但是,您可以设计应用程序,以便在支持材料设计的设备上运行时使用这些功能,并且仍然可以与运行以前版本的Android的设备兼容。
Que->为什么AppCompatView只能用于自定义视图。
答案 - >简单来说,AppCompatView用于maintaining compatibility。如果您的应用使用素材主题与Theme.Material
一样,但未提供替代主题,那么您的应用将无法在早于5.0的Android版本上运行。
如果根据材料设计指南设计的布局不使用Android 5.0(API级别21)中引入的任何新XML属性,则它们将适用于以前版本的Android。否则,您可以提供替代布局。您还可以提供其他布局来自定义您的应用在早期版本的Android上的外观。
使向后兼容的材料设计使用AppCompat可以更轻松地使用Android应用程序,尤其是当您了解其样式和主题如何协同工作以动态调整用户界面时。
使用AppCompat,您应该花更少的时间摆弄资产和向后兼容性,并将更多时间用于实际构建应用程序。
目前,通过Android Studio创建的新项目默认包含此库。
注意:此库取决于v4支持库。
以下是几个参考链接
答案 1 :(得分:8)
在布局中,您应该使用“普通”视图,因为支持库会自动注入兼容性代码。 只有在编写新的自定义视图时才需要支持库提供的类。在这种情况下,您必须扩展AppCompat视图以获取新属性(例如色调)。