Android Framework小部件与其AppCompat版本之间的区别

Joa*_*kim 8 android android-appcompat

我最近注意到Android中有大多数View类型的AppCompat版本,例如ListView/ ListViewCompat,Button/ AppCompatButton等.

对于这些更简单的视图(不包括例如SwitchCompat),它们与Android Framework版本有什么区别?我还没有找到关于此事的任何文件......

我很想知道选择任何一个版本的后果,以及选择其中一个版本是否有任何优势.

特别:

  • ListView和之间的区别ListViewCompat
  • Button/ 之间的差异AppCompatButton
  • ImageView/ 之间的差异AppCompatImageView
  • EditText/ 之间的差异AppCompatEditText
  • TextView/ 之间的差异AppCompatTextView

我从正常版本改为AppCompat版本,期望颜色将从主题中使用,并且在Lollipop和pre-lollipop上看起来相同,但它对某些视图(例如ListView)产生相反的效果

oiy*_*yio 9

如果你使用AppCompatActivity,然后AppCompatImageView将自动当您使用使用的ImageView您的布局。

从AppCompatImageView AppCompatEditText AppCompatButton

按钮与 AppCompatButton

当您在布局中使用 Button 并且顶级活动/对话框由 appcompat 提供时,这将自动使用。您应该只需要在编写自定义视图时手动使用此类。

ImageView 与 AppCompatImageView

当您在布局中使用 ImageView 并且顶级活动/对话框由 appcompat 提供时,这将自动使用。您应该只需要在编写自定义视图时手动使用此类。

EditText 与 AppCompatEditText

当您在布局中使用 EditText 并且顶级活动/对话框由 appcompat 提供时,这将自动使用。您应该只需要在编写自定义视图时手动使用此类。

并且相同的规则也适用于其他 appcompat 视图


Dha*_*mar 6

AppCompat是支持旧版本的android OS,比如AppCompat-v7是从android 6.1.1到android 2.6.0的支持

由于上述原因,他们已经在此支持库中创建了以下小部件的AppCompat类,仅此而已.

来自文档

appcompart中提供的色调感知小部件的完整列表

AppCompatAutoCompleteTextView
AppCompatButton
AppCompatCheckBox
AppCompatCheckedTextView
AppCompatEditText
AppCompatMultiAutoCompleteTextView
AppCompatRadioButton
AppCompatRatingBar
AppCompatSpinner
AppCompatTextView
Run Code Online (Sandbox Code Playgroud)

ListViewCompat是ListView的子类,与其他人一样


编辑:

为什么这两个类在框架中可用或Android支持库如何工作?