2015-05-14 100 views
0

正如您可以從下面的圖像看到我的操作欄菜單項重疊我的自定義ActionBar。這是因爲我使用的主題.NoActionBar,然後在聲明名爲.java我自己的動作條如下:Android ActionBar與設置選項重疊

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"> 

和佈局......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 

tools:context=".MainActivity"> 

<include 
    android:id="@+id/tool_bar" 
    layout="@layout/custom_toolbar" 
    ></include> 

<TextView 
    android:layout_below="@+id/tool_bar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" /> 

因此,您可以看到有一個.NoActionBar主題出現問題。我試過四處張望,並在我的菜單項的頂部添加填充,但無法使用。任何幫助讚賞。

problem image

回答

1

這完全是預期的行爲,並遵循Material Design官方指南。

菜單出現在所有其他應用內UI元素之上。

它是由無論是Theme.Material主題,帶給你(如果你是API> 21)或Theme.AppCompat如果您使用support-v7,因爲它看起來。你不應該擔心這一點。

如果這不是您期望從您的應用中獲得的,請嘗試切換到較舊的主題,例如Holo的東西。從設計的角度來看,這並不是真正的建議。

+0

乾杯抱歉猜我只是更新自己aha –