Android AppCompat 库详解

概述

AppCompat:为API 7及以上的设备提供了一个一致的Action Bar。 在版本21的修订中,它承担了新的职责:带来了material color palette、控件着色、Toolbar支持,还有更多支持所有API 7+的设备。单从ActionBarActivity名字上看是体现不出它全部功能的。

点击查看Toolbar详解

在此版本中,ActionBarActivity已经过时了,新的替代者是AppCompatActivity。然而,这不只是一个重命名。事实上,AppCompat的内在逻辑现在可以通过AppCompatDelegate实现-这是一个可以在所有Activity中包含的类,与合适的生命周期方法挂钩,并得到一致的主题、着色等,而不需要使用AppCompatActivity (尽管这仍然是最简单的开始方式)。

在全新的 AppCompatDelegate 类的帮助下,我们通过 AppCompatDialog 类提供了符合 Material Design 规范的对话框。如果你以前用过 AlertDialog ,那你就爽翻了,因为我们还在库里添加了全新的 support.v7.app.AlertDialog 类,让你用相同的API享受 AppCompatDialog 带来的便利。

在使用 AppCompat 时,自动为控件着色的能力是在应用中保持品牌烙印和一致性体验的重要保证。因为在填充布局时 AppCompat 会自动地为你将诸如 Button、TextView 这些传统控件替换为 AppCompatButton、AppCompatTextView 等新控件,以确保布局内的每一个控件都能支持着色。而在新的支持库中,色彩感知控件现在已经被公开,让控件类对自动着色的支持能延续到子类中。

这个列表囊括了目前所有的色彩感知控件:

AppCompatAutoCompleteTextView 
AppCompatButton 
AppCompatCheckBox 
AppCompatCheckedTextView 
AppCompatEditText 
AppCompatMultiAutoCompleteTextView 
AppCompatRadioButton 
AppCompatRatingBar 
AppCompatSpinner 
AppCompatTextView

Lollipop(api 5.0) 能够在 View 层通过使用XML中的 android:theme 属性在 View 中重写应用的主题,这对实现许多酷炫的应用 UI 非常有帮助,例如:我们需要在明亮主题的 Activity 中使用暗黑风格的 ActionBar。但现在 AppCompat 允许你在所有 API 11 以上的设备上通过 android:theme 定制 Toolbar。

转自:AppCompat 22.1,Google暴走,MD全面兼容低版本

你可能感兴趣的:(Android)