Android ActionBar重叠设置选项

时间:2015-05-14 13:47:03

标签: android android-actionbar

从下图中可以看出,我的操作栏菜单项与我的自定义ActionBar重叠。这是因为我使用主题.NoActionBar,然后在.java中声明我自己的操作栏,如下所示:

a += flattenList(i)

工具栏:

public class MenuActivity extends ActionBarActivity {

private Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu_activity);

    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    setSupportActionBar(toolbar);
}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

和布局......

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp">

因此,您可以看到问题源于.NoActionBar主题。我试过四处寻找并在我的菜单项顶部添加填充,但它不起作用。任何帮助表示赞赏。

problem image

1 个答案:

答案 0 :(得分:1)

这是完全预期的行为,遵循Material Design官方指南。

  

菜单显示在所有其他应用内UI元素之上。

如果您使用的是Theme.Material,则可以使用Theme.AppCompat主题(如果您使用的是API&gt; 21)或support-v7。你不应该担心这一点。

如果这不是您对应用的期望,请尝试切换到较旧的主题,例如Holo内容。从设计的角度来看,这并不是真正推荐的。