菜单项未显示在应用程序栏布局中

时间:2020-01-13 10:27:39

标签: android kotlin menuitem android-appbarlayout

我有一个使用应用程序栏布局的活动。 我为菜单项添加了一个xml,但在运行该应用程序时未在活动中显示它。 对于使用工具栏的活动,我将菜单XML设置为高,并且可以正常工作,但不能正常工作。

我已经用Kotlin编写了代码。

活动

class ProjectInfo : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_project_info)
        val sectionsPagerAdapter = SectionsPagerAdapter(this, supportFragmentManager)
        val viewPager: ViewPager = findViewById(R.id.view_pager)
        viewPager.adapter = sectionsPagerAdapter
        val tabs: TabLayout = findViewById(R.id.tabs)
        tabs.setupWithViewPager(viewPager)

    }

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.projectinfo_menu,menu)
        return super.onCreateOptionsMenu(menu)
    }

    override fun onOptionsItemSelected(item: MenuItem?): Boolean {
        Toast.makeText(this, "Menu Item Clicked", Toast.LENGTH_LONG).show()
        return super.onOptionsItemSelected(item)
    }
}

活动XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".ProjectInfo">

    <android.support.design.widget.AppBarLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:theme="@style/AppTheme.AppBarOverlay" android:id="@+id/appid">

        <TextView
                android:id="@+id/ProjectTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:textSize="12pt"
                android:textColor="#F8F6F6"
                app:fontFamily="@font/averia_libre"
                android:minHeight="?actionBarSize"
                android:paddingLeft="@dimen/appbar_padding"
                android:text="@string/app_name"
                android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"/>

        <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="?attr/colorPrimary"/>
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="@dimen/fab_margin"
            app:srcCompat="@android:drawable/ic_dialog_email"/>
</android.support.design.widget.CoordinatorLayout>

Projectinfo_menu XML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:title="Info" android:id="@+id/buInfo"
          app:showAsAction="ifRoom"/>
    <item android:title="Generate PDF" android:id="@+id/bu"
          android:enabled="true"/>
</menu>

1 个答案:

答案 0 :(得分:-2)

您忘记在活动中添加一行

setSupportActionBar(mToolbar); // mToolbar制作您的工具栏