Bar*_*chs 53 android oncreateoptionsmenu
我在Android中使用选项菜单时遇到了一些麻烦.我以前构建应用程序,它们都运行良好,但现在菜单没有弹出.
代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.activity_video, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
甚至从不调用整个方法(通过设置断点来检查).活动非常简单,只有一个VideoView,OnTouchListener有一套.
我在三星Galaxy 10.1,API等级15,minSDK 15上使用Android 4.0.4.我错过了什么?
Mar*_*res 64
在使用compat库工具栏的最新版本的Android中,这种情况很常见,为了使菜单项显示在工具栏中,您必须执行以下操作:
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)
小智 42
首先调用setHasOptionsMenu函数onCreate.该onCreateOptionsMenu系统会自动呼叫.
War*_*zit 30
如果您测试的手机上有一个菜单按钮onCreateOptionsMenu,则不会在主题开始时调用:
android:theme="@android:style/Theme.Black.NoTitleBar"
但是当您单击菜单按钮时,onCreateOptionsMenu将调用该按钮.我不知道没有硬件按钮的手机会发生什么......
Ste*_*iaz 23
在方法中:Fragment#onCreateView(...)你应该把:
setHasOptionsMenu(true);
Run Code Online (Sandbox Code Playgroud)
然后你的方法将被调用.
All*_*len 16
那是因为该活动没有工具栏。
有 2 个步骤可以做到这一点。
首先,您需要在位于 res/layout 的 activity.xml 中添加工具栏
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"">
<!-- add this part-->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
其次,让您的活动附加它
在 JAVA 中
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
或在科特林
val toolbar = findViewById<Toolbar>(R.id.toolbar)
setSupportActionBar(toolbar)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49683 次 |
| 最近记录: |