我对Android开发相当陌生,所以我事先道歉。我对新的 Android 支持库有点困惑。为什么我可以用<EditText>
得很好,但为了使用<TextInputLayout>
,我需要使用<android.support.design.widget.TextInputLayout>
?谢谢!
3 回答
LayoutInflater
,如果遇到看起来像裸类名的东西,将在该类的几个知名包中查找,例如android.widget
and android.view
。任何View
不在这些包中的包(例如android.support.v4.view.ViewPager
)都必须有一个完全限定的类名作为 XML 元素名LayoutInflater
才能找到它。
Android 支持库中的所有公共类都android.support
用作其包名称的基础,以帮助将它们与设备固件中的类区分开来。因此,Android 支持库中的所有内容在用于资源时都必须具有完全限定的类名。
Android 从一个版本到另一个版本都引入了新的设计理念和小部件。Android 支持库的目标是将新功能引入旧的 android 版本。例如,在 Android 4.X 中,设计范式是 Holo,而在 Android 5.X 中,设计范式是 Material Design。所以在 Android 5.X 中添加了新的小部件,如 CardsView,因此谷歌发布了 Android 设计兼容性库的旧设备上可以使用这些小部件。在简历中,如果您支持旧版 android,则应始终使用支持库来保持与旧版 android 的兼容性。
从文档:
Android 支持库包是一组代码库,提供向后兼容版本的 Android 框架 API 以及仅通过库 API 可用的功能。每个支持库都向后兼容特定的 Android API 级别。