出于某种原因,如果我在我的应用程序加载内容时长按我的菜单按钮,它就像我按下后退键一样停止.
我不希望菜单按钮表现得像这样,所以我的问题是:
如何完全禁用菜单按钮?我不需要在我的应用程序中,我只想关闭它.
我试过了:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK){
onBackPressed();
}
if (keyCode == KeyEvent.KEYCODE_MENU){
return true;
}
else{
return super.onKeyDown(keyCode, event);
}
}
Run Code Online (Sandbox Code Playgroud)
菜单按钮仍在工作......
任何帮助将不胜感激!谢谢.
我在我的应用程序中使用NavigationDrawer并在单击抽屉中的项目时替换片段.我的问题是,当我更改片段时,ActionBar中的菜单项不会更新.
我已经按照本教程https://www.grokkingandroid.com/adding-action-items-from-within-fragments/密切关注,但它仍然无法在我的应用中运行.
在此处添加父活动和其中一个片段的一些代码片段.我需要的是当初始片段被ContactFormFragment.java替换时,显示联系表单片段(R.menu.contactform_send_menu)的其他菜单项.
public class MainActivity extends FragmentActivity implements ActionBar.OnNavigationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(R.string.app_name);
// Set up the action bar to show a dropdown list.
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
createNavigationDrawer(savedInstanceState);
}
private final int DRAWER_MAIN = 0;
private final int DRAWER_CONTACT = 5;
// update the main content by replacing fragments
private void selectItem(int position) {
Fragment fragment = null;
Bundle args = new Bundle();
boolean isFragment = …Run Code Online (Sandbox Code Playgroud) android android-menu android-fragments android-actionbar navigation-drawer
我正在开发一个 Android 应用程序,在设计操作栏时遇到一些问题。我使用的是带有白色图标的深色操作栏。当我单击溢出图标时,会弹出一个下拉菜单。一切都很好,但我需要带有红色文本的下拉菜单的浅色背景。我尝试过编辑主题,styles.xml但当我使用浅色主题时,我只能更改下拉菜单的背景颜色。
Theme.Base.AppCompat.Light.DarkActionBar当我将 更改为时,我可以获得浅色下拉菜单,Theme.Base.AppCompat.Light但其他图标(例如“搜索”)变得非常浅并且几乎不可见(参见第二张图片)。如何将下拉菜单上的文本颜色从黑色更改为红色并使“搜索”图标可见。

这是更深入了解的代码
样式.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.Base.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:popupMenuStyle">@style/MyPopUpMenu</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/gloryred</item>
</style>
<style name="MyPopUpMenu"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:popupMenuStyle">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
菜单操作.xml
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
com.example.unitedstates.app:showAsAction="ifRoom"
com.example.unitedstates.app:actionViewClass="android.widget.SearchView"/>
<item android:id="@+id/action_overflow"
android:title="@string/action_overflow"
android:icon="@drawable/ic_action_overflow"
com.example.unitedstates.app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/action_help"
android:title="@string/action_help"
android:icon="@drawable/ic_action_help"
android:showAsAction="never"/>
<item
android:id="@+id/action_about"
android:title="@string/action_about"
android:icon="@drawable/ic_action_about"
android:showAsAction="never"/>
<item
android:id="@+id/action_feedback" …Run Code Online (Sandbox Code Playgroud) android background-color android-menu android-actionbar drop-down-menu
我正在尝试将ActionBar按钮添加到FragmentActivity中,我无法弄清楚我做错了什么.在运行应用程序时,我看到的是ActionBar上的默认菜单按钮而不是我的按钮.
FragmentActivity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.animalsmenu,menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/dogs"
android:title="Dogs"
android:orderInCategory="1"
app:showAsAction="always">
</item>
Run Code Online (Sandbox Code Playgroud)
android fragment android-menu android-fragments android-fragmentactivity
我有一个有3种不同口味的应用程序full,part1和part2.
所有不同的口味都有不同的包名,所以我可以将它们作为不同的应用程序发送.
现在我希望只part1获得一个名为的菜单项Reload.其他两种口味不应该有这个菜单项.这可能吗?
我尝试了以下菜单资源:
app
|
+-src
|
+-full
|
+-main
| |
| +-res
| |
| +-menu
| |
| +-main_activity.xml
|
+-part1
| |
| +-res
| |
| +-menu
| |
| +-main_activity.xml
|
+-part2
Run Code Online (Sandbox Code Playgroud)
其中main_activity.xml的part1是:
<?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:id="@+id/action_reload"
android:icon="@drawable/ic_reload"
android:title="@string/action_reload"
app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
而main_activity.xml对于main是:
<?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">
</menu>
Run Code Online (Sandbox Code Playgroud)
但是,如果我在任何其他构建版本中构建应用程序part1 …
I have a NavigationView & rendering Menu inside it. My Menu has 3 groups & each contains few sub-menu items. My problem is, when I select any sub-menu item & goes to specific fragment. However, when I reopen NavigationView/drawer to select another item, it doesn't show last selected item Highlighted.
Currently, it just changes color of selected sub-menu item but I want it highlighted like below snapshot.
Base Activity XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" …Run Code Online (Sandbox Code Playgroud) android android-menu android-fragments navigation-drawer android-navigationview
navigationView.getHeaderView(0);我有一个导航抽屉,我可以通过访问和来更改字体、颜色等。
Menu m = navigationView.getMenu();
MenuItem mi = m.getItem(index);
Run Code Online (Sandbox Code Playgroud)
然后我就可以玩抽屉里的东西了。
但就我而言,我有一个文本视图,它是另一种布局:
<item
android:id="@+id/nav_wallet"
android:icon="@drawable/ic_balnce"
android:title="@string/my_wallet"
app:actionLayout="@layout/wallet_value"/>
Run Code Online (Sandbox Code Playgroud)
在我的 wallet_value 中,layout我有一个 textView,我需要更改其值,如下图所示:
我怎样才能得到这个布局并改变它?
android android-layout android-menu android-drawer android-navigationview
我尝试了onCreateOptionsMenu(Menu menu)和onPrepareOptionsMenu(Menu menu)方法,但是当应用程序在后台打开时,我无法更改图标可见性。因为我认为我需要在onResume()内调用这些方法
当应用程序第一次启动时它会按预期工作。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it present.
getMenuInflater().inflate(R.menu.example_menu, menu);
// show manu items if not ofline mode
if (Utils.checkNetworkStatus(ExampleActivity.this)) {
menu.findItem(R.id.edit).setVisible(true);
menu.findItem(R.id.delete).setVisible(true);
}else {
menu.findItem(R.id.edit).setVisible(false);
menu.findItem(R.id.delete).setVisible(false);
}
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu){
if (Utils.checkNetworkStatus(ExampleActivity.this)) {
menu.findItem(R.id.edit).setVisible(true);
menu.findItem(R.id.delete).setVisible(true);
}else {
menu.findItem(R.id.edit).setVisible(false);
menu.findItem(R.id.delete).setVisible(false);
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 在 RTL 中,选项菜单项图标显示不正确!!但在 LTR 中,一切都显示得很好很漂亮。
在这个命令的帮助下,我制作了 RTL 程序
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
Run Code Online (Sandbox Code Playgroud)
我的菜单 layout.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"
android:gravity="start"
android:layoutDirection="rtl"
android:layout_gravity="start">
<item
android:id="@+id/action_more"
android:icon="@drawable/ic_add_white_24dp"
android:title=""
app:showAsAction="always">
<menu>
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_wb_sunny_black_24dp"
android:title="???? ????? 1"/>
<item
android:id="@+id/action_settings2"
android:icon="@drawable/ic_star_black_24dp"
android:title="???? ????? 2"/>
<item
android:id="@+id/action_settings3"
android:icon="@drawable/ic_wb_sunny_black_24dp"
android:title="???? ????? 3"/>
</menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题。
android optionmenu android-layout right-to-left android-menu