【问题标题】:Android ActionBar Menu always showing overflow (Without AppCompat)Android ActionBar 菜单总是显示溢出(不带 AppCompat)
【发布时间】:2016-03-01 00:53:46
【问题描述】:

无论屏幕大小,菜单始终显示 3 个点,而不是仅在右上角显示一个图标。

我见过类似的问题,但没有 AppCompat。 我在 build.gradle 文件中使用 minSdkVersion 14,以及以下依赖项:

compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v13:23.1.1'

Principal.Java相关代码:

import android.app.ActionBar;

public class Principal extends Activity {
  protected void onCreate(Bundle savedInstanceState) {
    ActionBar actionBar = getActionBar()
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayShowTitleEnabled(true);
    actionBar.setDisplayUseLogoEnabled(false);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.options_menu, menu);
      return true;
  }
}

这是我的 options_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/menu_general">
     <item android:id="@+id/menu_search"
          android:title="@string/search_label"
          android:icon="@drawable/ic_action_search"/> 
</menu>

【问题讨论】:

  • 这个很简单,你只需要在item标签中添加app:showAsAction="always"这个属性即可。 android:showAsAction 属性适用于 Android 3.0(API 级别 11)及更高版本。
  • 这对我不起作用。它仍然只渲染 3 个点。还有其他想法吗?
  • 你想在操作栏中实现搜索视图吗?
  • 没有。它只是一个搜索图标,但会触发不同的操作。它切换线性布局可见性。

标签: android menu android-actionbar icons overflow


【解决方案1】:

在方法 Oncreate 中添加这个:改变你需要的东西

 Toolbar topToolBar = (Toolbar)findViewById(R.id.toolbar);
            setSupportActionBar(topToolBar);
            topToolBar.setLogo(R.drawable.logo);

【讨论】:

    【解决方案2】:

    您应该在 menuItem 中设置以下属性: app:showAsAction="always"

    <?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:id="@+id/menu_general">
              <item android:id="@+id/menu_search"
                    android:title="@string/search_label"
                    app:showAsAction="always"
                    android:icon="@drawable/ic_action_search"/> 
       </menu>
    

    【讨论】:

    • 恐怕添加该行会呈现相同的结果。始终是 3 个点。
    • 为什么不返回:返回 super.onCreateOptionsMenu(menu);而不是真的?你添加了 xmlns:app 命名空间吗?
    • 是的。我在 xml 文件中添加了 xmlns:app="schemas.android.com/apk/res-auto" 并返回了 super.oncreateoptions 但仍然是相同的结果。
    猜你喜欢
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    相关资源
    最近更新 更多