1

I have updated the Android SDK and when I create new project It automatically adds the appCompact Support Library version 7 and extends my Activity with ActionBarActivity.

What happened to ActionBar? Is it gone? How to get back my ActionBar?

4

3 回答 3

1

有一个新的小部件,称为Toolbar Widget它是ActionBar

工具栏完全支持框架小部件,AppCompat并具有与框架小部件相同的功能和 API。在AppCompat, Toolbarandroid.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

于 2014-10-24T11:36:17.137 回答
1

为了提供对以前版本的兼容性,ADT tools 23 会自动添加它。您可以删除它们并设置较低的构建工具版本。

于 2014-10-28T06:21:34.420 回答
0

任何一个:

  • 按照说明使用appcompat-v7,或

  • 从您的项目中删除appcompat-v7,切换到基于标准 Android 的主题(例如,Theme.Holo),并将您的活动更改为继承自Activity而不是ActionBarActivity

于 2014-10-24T11:37:20.097 回答