2015-09-17 153 views
1

我有以下menu_main.xml如何在Android的操作菜單欄中添加新項目?

<menu 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" 
tools:context="Test"> 
<item 
    android:id="@+id/action_chat" 
    android:orderInCategory="200" 
    android:title="Search" 
    android:icon="@drawable/ic_chat" 
    app:showAsAction="ifTest" 
    ></item> 
<item 
    android:id="@+id/action_user" 
    android:orderInCategory="300" 
    android:title="User" 
    android:icon="@drawable/ic_drawer" 
    app:showAsAction="ifTest"></item> 

</menu> 

我可以看到兩個iconApp-bar(右對齊)。現在我想在最左邊的位置添加一個圖標。我怎樣才能做到這一點?

+0

我會建議你使用工具欄https://developer.android。 com/reference/android/widget/Toolbar.html並使用自定義佈局實現 請查看本教程: http://www.android4devs.com/2014/12/how-to-make-material-design-app。 html –

+0

@AdityaChauhan這已經實施。我所要求的是在'MaterialToolbar'文本之前添加圖標(請參閱您的教程) –

+0

有幫助嗎?或者你需要更多的代碼? –

回答

0

要爲ActionBar添加自定義視圖,請使用setCustomView並提供您自己的佈局文件或視圖。這將取代操作欄標題通常會出現的空間。

+0

這意味着我們不能在左對齊的操作欄中添加項目,因爲我們可以在右側執行它 –

1

試試這個吧。

<RelativeLayout 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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".HomeActivity"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="..." 
    app:contentInsetLeft="0dp" 
    app:contentInsetStart="0dp"> 

    <TextView 
     android:id="@+id/tv_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="..." 
     android:textColor="..." 
     android:textSize="..." /> 

    <ImageView 
     android:id="@+id/..." 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/..." 
     android:padding="15dp" 
     android:layout_gravity="start" 
     android:src="@drawable/..." /> 

    <ImageView 
     android:id="@+id/..." 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end" 
     android:padding="15dp" 
     android:src="@drawable/..." /> 

</android.support.v7.widget.Toolbar> 
.... 
.... 
..all other layout files 
</RelativeLayout> 

現在在你的mainactivity

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

    // Set a toolbar to replace the action bar. 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
} 
.... 

這將是mainactivity 1 ImageView的佈局文件將在啓動

+0

對不起,我沒有得到你。其實我已經有一個'toolbar'和'main_menu',它使用'MainActivity'添加到'toolbar'中。我需要在哪裏添加這個? –

+0

我正在編輯..等待.. 2分鐘 –

+0

這意味着我不需要使用Main_menu? –

相關問題