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