我有一个在Android 2.3及更高版本上运行的应用程序。
最近,我正按照What are the common issues when migrating from ActionBarSherlock to ActionBarCompat?
的指南将其从SherlockActionBar迁移到AppCompat。这是我到目前为止所做的。
从
更改SDK<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="21" />
到
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="22" />
从
更改主题Theme.Sherlock.Light.DarkActionBar
到
Theme.AppCompat.Light.DarkActionBar
遵循What are the common issues when migrating from ActionBarSherlock to ActionBarCompat?的代码更改指南。
注意,我仍然坚持ActionBar
而不是Toolbar
。最后,我将代码移到Toolbar
。由于迁移是一个巨大的项目。我宁愿一点一点地完成它。
我的期望是
然而,这里的应用程序是如何在&amp;迁移后,为2.3 App。
似乎在迁移之后,我可以观察到
我想知道,当我们使用最新的SDK 22作为目标构建针对AppCompat时,旧应用程序(运行在2.3到4+以上的应用程序)应该是正确的期望吗?它们应该看起来像Material app还是Holo app?
答案 0 :(得分:1)
来自AppCompat的Support Library Features部分:
此库添加了对Action Bar用户界面设计模式的支持。该库包括对材料设计用户界面实现的支持。
所以你看到的是预期的行为 - AppCompat旨在将ActionBar和Material带到所有具有API 7及更高版本的设备。
在AppCompat第21版和Android Lollipop(API 21)一起发布之前,AppCompat确实提供了一个带有Holo主题的ActionBar。但是,它从未设计过其他组件,只有ActionBar本身。