【问题标题】:Adding action bar and options menu to activity将操作栏和选项菜单添加到活动
【发布时间】:2019-02-08 00:49:41
【问题描述】:

我正在为我的应用程序使用this 示例。此示例没有操作栏。

这是我想在其中添加带有选项菜单的操作栏的活动布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="500dp"
        android:layout_gravity="bottom"
        android:background="#000"
        tools:context="com.example.android.camera2basic.CameraActivity" />

</LinearLayout>

所以,LinearLayout 和其中的 FrameLayout 作为片段的容器。在主要活动中,我实现了onCreateOptionsMenu 并添加了setSupportActionBar((Toolbar)findViewById(R.id.my_toolbar));,但没有出现带有菜单的操作栏。

如何向此活动添加带有菜单的ActionBar

【问题讨论】:

    标签: android android-actionbar android-menu


    【解决方案1】:

    在您的菜单文件夹中创建一个 main_menu.xml

    <item
        android:id="@+id/menu1"
        android:title="Option 1" />
    <item
        android:id="@+id/menu2"
        android:title="Optiion 2" />
    

    将此添加到您的活动中

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.menu1:
                Toast.makeText(this, "Clicked Menu 1", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu2:
                Toast.makeText(this, "Clicked Menu 2", Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(item);
    }
    

    【讨论】:

    • 问题是我不能让ActionBar出现在activity中,我知道怎么做菜单。
    • 你是在扩展 AppCompatActivity 并在风格上使用 Theme.AppCompat.Light.DarkActionBar 吗?
    【解决方案2】:

    将您的 Activity Theme 设置为 NoActionBar 并在您的 Activity onCreate 方法中添加这 2 行代码。

    在布局中添加工具栏。

    ToolBar toolbar = findViewById ();
    setSupportActionBar(toolbar);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多