带设置按钮的默认 ActionBar
Default ActionBar with Settings button
虽然我是 android 开发的新手,但最近,我一直在尝试在 Android Studio 提供的默认 ActionBar 中添加一个设置按钮(如下图所示)。但是,我标记的所有教程都是从将应用程序主题更改为开始的:android:theme="@style/Theme.APpCompat.Light.NoActionBar"
有什么方法可以避免更改 Theme 并仅在默认 ActionBar 中添加该设置?
您可以通过将菜单扩展到工具栏来完成此操作。
在您的 java class 中覆盖此方法。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_custom_menu,menu);
return true;
}
您的自定义菜单应如下所示:
<?xml version="1.0" encoding="utf-8"?>
>
<item
android:id="@+id/night_mode"
android:title="?attr/theme_text"
app:showAsAction="never"
android:icon="?attr/theme_icon"/>
<item
android:id="@+id/action_about"
android:title="@string/about_text"
app:showAsAction="never"
android:icon="?attr/about_icon"/>
<item
android:id="@+id/action_logout"
android:title="@string/action_logout_text"
app:showAsAction="never"
android:icon="?attr/logout_icon"/>
这里有更多关于菜单的内容:https://developer.android.com/guide/topics/ui/menus
虽然我是 android 开发的新手,但最近,我一直在尝试在 Android Studio 提供的默认 ActionBar 中添加一个设置按钮(如下图所示)。但是,我标记的所有教程都是从将应用程序主题更改为开始的:android:theme="@style/Theme.APpCompat.Light.NoActionBar"
有什么方法可以避免更改 Theme 并仅在默认 ActionBar 中添加该设置?
您可以通过将菜单扩展到工具栏来完成此操作。 在您的 java class 中覆盖此方法。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_custom_menu,menu);
return true;
}
您的自定义菜单应如下所示:
<?xml version="1.0" encoding="utf-8"?>
>
<item
android:id="@+id/night_mode"
android:title="?attr/theme_text"
app:showAsAction="never"
android:icon="?attr/theme_icon"/>
<item
android:id="@+id/action_about"
android:title="@string/about_text"
app:showAsAction="never"
android:icon="?attr/about_icon"/>
<item
android:id="@+id/action_logout"
android:title="@string/action_logout_text"
app:showAsAction="never"
android:icon="?attr/logout_icon"/>
这里有更多关于菜单的内容:https://developer.android.com/guide/topics/ui/menus