Пункты меню не отображаются в макете панели приложения - PullRequest
0 голосов
/ 13 января 2020

У меня есть действие, в котором используется макет панели приложения. Я накачал 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 голосов
/ 13 января 2020

вы забыли добавить одну строку в вашей деятельности

setSupportActionBar (mToolbar); // mToolbar сделать вашу панель инструментов

...