如何在 android studio 中为初学者添加操作栏?

Posted

技术标签:

【中文标题】如何在 android studio 中为初学者添加操作栏?【英文标题】:How to add an actionbar in android studio for beginners? 【发布时间】:2016-12-27 09:17:36 【问题描述】:

我想构建自己的应用程序,我想向它添加一个操作栏。在我的主布局中,我想要一个仅包含我的应用程序名称的操作栏。在我的其他布局/页面中,我想要我的页面名称和后面导航回上一页的导航符号。任何人都可以告诉我如何做到这一点,也可以有人告诉我android中的默认操作栏它做什么以及我用它做什么。

【问题讨论】:

欢迎来到 SO。这不是一个学习的地方。使用 Google 搜索教程。 有很多地方可以获取这些信息。你试过了吗? 【参考方案1】:

第 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);

【讨论】:

【参考方案2】:

将布局主题更改为“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);
    

【讨论】:

使用无权访问 AppCompat 库的移动 Android 开发应用程序,这是有效的。谢谢你:)【参考方案3】:

您可以轻松地在活动中使用操作栏

ActionBar actionBar =getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);

【讨论】:

【参考方案4】:

对于 androidx:


if (getSupportActionBar() != null) 
    getSupportActionBar().setTitle("My Activity");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    // Add back arrow in action bar


@Override
public boolean onSupportNavigateUp() 
    onBackPressed();
    return super.onSupportNavigateUp();


Activity 应该扩展 AppCompatActivity

【讨论】:

以上是关于如何在 android studio 中为初学者添加操作栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio 中为变量赋值

如何在 Android Studio 中为小部件设置不高度?

如何在 android studio 中为线性布局制作“波浪”边框?

如何在 android studio 中为 IBM MobileFirst 项目导入外部库项目?

如何在Android Studio中为Gradle设置apk的应用名称

如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?