在Android中,onCreateOptionsMenu方法用于初始化Activity的选项菜单。要在Activity中实现onCreateOptionsMenu,请按照以下步骤操作:
-
首先,确保您的Activity已经继承了AppCompatActivity或者Activity。如果您使用的是AppCompatActivity,那么需要在项目的build.gradle文件中添加AppCompat库的依赖。
-
在Activity的XML布局文件中(例如:activity_main.xml),添加一个菜单资源文件。在res文件夹下创建一个名为menu的文件夹,然后在menu文件夹中创建一个XML文件(例如:menu_main.xml)。在这个文件中,定义您想要在选项菜单中显示的菜单项。例如:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_settings"
android:title="设置"
android:orderInCategory="100"
android:showAsAction="never" />
menu>
- 在Activity的Java或Kotlin文件中(例如:MainActivity.java或MainActivity.kt),重写onCreateOptionsMenu方法。在这个方法中,使用MenuInflater将XML菜单资源文件展开并添加到Activity的选项菜单中。例如:
Java版本:
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.MenuInflater;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return true;
}
}
Kotlin版本:
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.core.view.MenuInflater
import android.os.Bundle
import android.view.Menu
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
// Inflate the menu; this adds items to the action bar if it is present.
val inflater: MenuInflater = menuInflater
inflater.inflate(R.menu.menu_main, menu)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
val inflater: MenuInflater = menuInflater
inflater.inflate(R.menu.menu_main, menu)
return true
}
}
现在,当您运行应用程序并点击右上角的菜单按钮时,应该会看到在menu_main.xml中定义的菜单项。您可以根据需要添加更多的菜单项和子菜单项。
以上就是关于“android oncreateoptionsmenu 怎么实现”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm