我最近注意到Android中大多数视图类型都有AppCompat版本,例如ListView
/ListViewCompat
,Button
/AppCompatButton
等。
对于这些更简单的视图(不包括例如SwitchCompat),它们与Android Framework版本有什么区别?我没有找到任何关于此事的文档...
我有兴趣了解选择任一版本的后果,以及选择一个版本是否有任何优势。
具体说来:
ListView
和ListViewCompat
之间的区别Button
/AppCompatButton
的区别ImageView
/AppCompatImageView
的区别EditText
/AppCompatEditText
的区别TextView
/AppCompatTextView
的区别
我从普通版本更改为 AppCompat 版本,期望从主题中使用颜色并在棒棒糖和棒棒糖之前看起来相同,但它对某些视图(例如 ListView)产生了相反的效果。
AppCompat 为旧版本的 API 提供一致的 UI 支持,回到 API v7。从文档
appcompat 中可用的色调感知小部件的完整列表
AppCompatAutoCompleteTextView
AppCompatButton
AppCompatCheckBox
AppCompatCheckedTextView
AppCompatEditText
AppCompatMultiAutoCompleteTextView
AppCompatRadioButton
AppCompatRatingBar
AppCompatSpinner
AppCompatTextView
ListViewCompat 是 ListView 的子类,与其他类相同
<小时 />编辑:
为什么这两个类在框架或 Android 支持库如何工作中都可用?
AppCompatActivity,则当您在布局中使用 ImageView 时,将自动使用 AppCompatImageView。
从 AppCompatImageView AppCompatEditText AppCompatButton
按钮与应用兼容按钮
当您在布局中使用按钮时,将自动使用此功能 顶级活动/对话框由Appcompat提供。你 应该只需要在编写自定义视图时手动使用此类。
图像视图 vs 应用兼容图像视图
当您在布局中使用 ImageView 时,将自动使用此功能 顶级活动/对话框由Appcompat提供。你 应该只需要在编写自定义视图时手动使用此类。
编辑文本 vs 应用兼容编辑文本
当您在布局中使用 EditText 时,将自动使用此功能 顶级活动/对话框由Appcompat提供。你 应该只需要在编写自定义视图时手动使用此类。
并且相同的规则也适用于其他应用程序兼容视图