我更新了Android SDK,当我创建新项目时,它会自动添加appCompact Support Library version 7
并使用ActionBarActivity
扩展我的活动。
ActionBar怎么了?它消失了吗?如何取回我的ActionBar?
答案 0 :(得分:1)
有一个名为Toolbar Widget
的新窗口小部件,它是ActionBar
AppCompat
完全支持工具栏,并且与框架小部件具有功能和API奇偶校验。在AppCompat
中,工具栏在android.support.v7.widget.Toolbar
类中实现。有两种方法可以使用工具栏:
如果要使用现有的操作栏功能(例如菜单膨胀和选择,ActionBarDrawerToggle等),请使用工具栏作为操作栏,但希望对其外观有更多控制权。 如果要在应用程序中使用操作栏不支持的情况,请使用独立工具栏;例如,在屏幕上显示多个工具栏,仅跨越部分宽度,依此类推。
<强>动作条强>
<android.support.v7.widget.Toolbar
android:id=”@+id/my_awesome_toolbar”
android:layout_height=”wrap_content”
android:layout_width=”match_parent”
android:minHeight=”?attr/actionBarSize”
android:background=”?attr/colorPrimary” />
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.blah);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}
<强>独立强>
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.blah);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
// Set an OnMenuItemClickListener to handle menu item clicks
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Handle the menu item
return true;
}
});
// Inflate a menu to be displayed in the toolbar
toolbar.inflateMenu(R.menu.your_toolbar_menu);
}
有关详细信息,请访问http://android-developers.blogspot.com.au/2014/10/appcompat-v21-material-design-for-pre.html
答案 1 :(得分:1)
为了提供以前版本的兼容性,ADT工具23将自动添加它。您可以删除它们并设置较低的构建工具版本。
答案 2 :(得分:0)
或者:
关注the instructions以使用appcompat-v7
或
从项目中移除appcompat-v7
,切换到基于标准Android的主题(例如Theme.Holo
),并将您的活动更改为继承自Activity
而非ActionBarActivity