Страница 1 из 1

Иконка приложения и иконки меню в ActionBar

Добавлено: 24 июн 2015, 21:21
Exis
Всем привет. Понимаю что тема уже очень замыленна - но я уже замучался 3 дня биться над такой, казалось бы, ернудовой проблемой.

Есть задача сделать самое обыкновенное меню, где будет отображена иконка, заголовок, несколько иконок меню и троеточие для выбора доп элементов меню. По мануалам все получается очень неплохо - кроме одного: элементы меню прячуться и не показываются, независимо от параметра showAsAction.

styles: <resources><style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"/></resources>
menu.xml:

Код: Выделить всё

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
        android:icon="@drawable/abc_ic_ab_back_mtrl_am_alpha"
        android:title="Component 1"
        app:showAsAction="always"  />
    <item android:id="@+id/action_compose"
        android:icon="@drawable/abc_ic_commit_search_api_mtrl_alpha"
        android:title="Component 2"
        app:showAsAction="always"/>
</menu>
MainActivity : Activity

Результат:
Изображение

Перечитав десятки статей и пожеланий, у меня получилось сделать иначе. Изменив тему приложения на AppCompact и унаследовав Activity : ActionBarActivity иконки меню показываются где надо, однако пропадает иконка приложения слева от заголовка.
Изображение

И как бы я не старался, иконку включить не получается (как и отображение иконок меню в первом варианте). Уже не знаю, куда деваться. Помогите, пожалуйста, выйти из ступора Код MainActivity.java не изменен после создания, на всякий случай вывешу:

Код: Выделить всё

package com.example.exis.actionbarmf;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        return super.onOptionsItemSelected(item);
    }
}

Re: Иконка приложения и иконки меню в ActionBar

Добавлено: 24 июн 2015, 23:21
ANdriy123456

Код: Выделить всё

<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="com.example.exis.actionbarmf.MainActivity" > 
    <item android:id="@+id/action_search" 
        android:icon="@drawable/abc_ic_ab_back_mtrl_am_alpha" 
        android:title="Component 1" 
        app:showAsAction="always"  /> 
    <item android:id="@+id/action_compose" 
        android:icon="@drawable/abc_ic_commit_search_api_mtrl_alpha" 
        android:title="Component 2" 
        app:showAsAction="always"/> 
</menu>
попробуй так

Re: Иконка приложения и иконки меню в ActionBar

Добавлено: 25 июн 2015, 07:28
klblk
Нынче не модно иконку приложения в ActionBar'е показывать. Вместо нее обычно иконка открытия NavigationDrawer.
При использовании стандартной Holo темы вероятно нужно "app:showAsAction" заменить на "android:showAsAction"