如何为初学者在 android studio 中添加 actionbar?

新手上路,请多包涵

我想构建我自己的应用程序,我想向它添加一个操作栏。在我的主要布局中,我想要一个仅包含我的应用程序名称的操作栏。在我的其他布局/页面中,我想要我的页面名称和一个后退导航符号导航回上一页。谁能告诉我如何执行此操作,也有人能告诉我有关 android 中默认操作栏的信息,它的作用是什么以及我如何使用它。

原文由 chanaka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 419
2 个回答

第 1 步:build.gradle(应用层)

 dependencies {
    compile 'com.android.support:appcompat-v7:23.3.0'
}

第 2 步:AndroidManifest.xml

 <application
....
android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>

第 3 步:在您的活动中

public class main extends AppCompatActivity
{
    ....
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        ...

        getSupportActionBar().setTitle("Your Activity Title"); // for set actionbar title
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); // for add back arrow in action bar
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    int id = item.getItemId();
    if (id == android.R.id.home) {
        finish();
    }
    return super.onOptionsItemSelected(item);
}

原文由 Kalpesh Tarsariya 发布,翻译遵循 CC BY-SA 3.0 许可协议

将布局主题更改为“Theme.DeviceDefault.Light.DarkActionBar”

在菜单文件夹下制作操作栏菜单布局

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/a"
      android:icon="@drawable/a"
      android:showAsAction="always"
      android:title=""/>

<item android:id="@+id/b"
      android:icon="@drawable/b"
      android:showAsAction="always"
      android:title=""/>

<item android:id="@+id/c"
      android:icon="@drawable/c"
      android:showAsAction="always"
      android:title=""/>

<item android:id="@+id/d"
      android:icon="@drawable/d"
      android:showAsAction="always"
      android:title=""/>

<item android:id="@+id/e"
      android:icon="@drawable/e"
      android:showAsAction="always"
      android:title=""/>

然后将以下脚本写入您的活动类

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.actionbar_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.a:
            //Write your code
            return true;
        case R.id.b:
            //Write your code
            return true;
        case R.id.c:
            //Write your code
            return true;
        case R.id.d:
            //Write your code
            return true;
        case R.id.e:
            //Write your code
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

原文由 Sabish.M 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题