从下图中可以看出,我的操作栏菜单项与我的自定义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主题。我试过四处寻找并在我的菜单项顶部添加填充,但它不起作用。任何帮助表示赞赏。
答案 0 :(得分:1)
这是完全预期的行为,遵循Material Design官方指南。
菜单显示在所有其他应用内UI元素之上。
如果您使用的是Theme.Material
,则可以使用Theme.AppCompat
主题(如果您使用的是API&gt; 21)或support-v7
。你不应该担心这一点。
如果这不是您对应用的期望,请尝试切换到较旧的主题,例如Holo
内容。从设计的角度来看,这并不是真正推荐的。