将操作栏和选项菜单添加到 activity
Adding action bar and options menu to activity
我正在为我的应用程序使用 this 示例。此示例没有操作栏。
这是 activity 的布局,我想在其中添加一个带有选项菜单的操作栏:
<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
作为片段的容器。在 Main Activity 中,我实现了 onCreateOptionsMenu
并添加了 setSupportActionBar((Toolbar)findViewById(R.id.my_toolbar));
,但是没有出现带有菜单的操作栏。
如何向 activity 添加带有菜单的 ActionBar
?
在您的菜单文件夹中创建一个 main_menu.xml
<item
android:id="@+id/menu1"
android:title="Option 1" />
<item
android:id="@+id/menu2"
android:title="Optiion 2" />
将此添加到您的 activity
@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);
}
将您的 Activity 主题设置为 NoActionBar 并在您的 Activity onCreate 方法中添加这两行代码。
在布局中添加工具栏。
ToolBar toolbar = findViewById ();
setSupportActionBar(toolbar);
我正在为我的应用程序使用 this 示例。此示例没有操作栏。
这是 activity 的布局,我想在其中添加一个带有选项菜单的操作栏:
<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
作为片段的容器。在 Main Activity 中,我实现了 onCreateOptionsMenu
并添加了 setSupportActionBar((Toolbar)findViewById(R.id.my_toolbar));
,但是没有出现带有菜单的操作栏。
如何向 activity 添加带有菜单的 ActionBar
?
在您的菜单文件夹中创建一个 main_menu.xml
<item
android:id="@+id/menu1"
android:title="Option 1" />
<item
android:id="@+id/menu2"
android:title="Optiion 2" />
将此添加到您的 activity
@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);
}
将您的 Activity 主题设置为 NoActionBar 并在您的 Activity onCreate 方法中添加这两行代码。
在布局中添加工具栏。
ToolBar toolbar = findViewById ();
setSupportActionBar(toolbar);