2015-09-17 2 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> 

Я вижу два icon в App-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', которые добавляются в 'toolbar', используя' MainActivity'. Где мне нужно добавить это? –

+0

Я делаю редактирование..wait..2 mins –

+0

Это означает, что мне не нужно использовать Main_menu? –

Смежные вопросы