2013-11-19 2 views
15

У меня возникли проблемы с ActionBar моего приложения, проблема в том, что все еще отображается старое меню Android. Я проверил других айнсеров на этот вопрос, но ничего не сработало. Минимальное разрешение для мини-приложения Mi - 7, но я работаю на устройстве с Android 4.2.Android ActionBar не отображает значки

Я импортировал

import android.support.v7.app.ActionBarActivity; 

Это мой метод OnCreate()

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    inputTextView = (EditText) findViewById(R.id.inputText); 
    outputTextView = (TextView) findViewById(R.id.outputText); 
    inputTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { 
      showMessage((View) textView); 
      return true; 
     } 
    }); 
    registerForContextMenu(inputTextView); 
} 

Это мой onCreateOptionsMenu

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.mainmenu, menu); 
    return true; 
} 

Это мой XML

<item 
    android:id="@+id/menu" 
    android:orderInCategory="0" 
    android:showAsAction="always" 
    android:icon="@drawable/abc_ic_cab_done_holo_dark" 
    > 

</item> 
<item 
    android:id="@+id/lol" 
    android:orderInCategory="0" 
    android:showAsAction="ifRoom" 
    android:icon="@drawable/abc_ic_go"> 
</item> 

Вот мой appManifest.xml, я знаю, что он пропустит пакет (я удалил его, и я пытаюсь добавить его)

<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19"/> 


<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> 
    <activity android:label="@string/app_name" android:name="com.ricardo.message.MainActivity" android:theme="@style/Theme.AppCompat.Light"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

Спасибо за помощь!

+0

Пожалуйста отправьте ваш '' элемент из манифеста. – CommonsWare

+0

Я предполагаю, что вы расширяете ActionBarActivity, а не просто импортируете его, правильно? –

+0

Да, я продлил его –

ответ

36

согласно Adding Action Items guide, вы должны использовать версию http://schemas.android.com/apk/res-auto схемы showAsAction, а не android:showAsAction:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/menu" 
     android:orderInCategory="0" 
     app:showAsAction="always" 
     android:icon="@drawable/abc_ic_cab_done_holo_dark" /> 
    <item 
     android:id="@+id/lol" 
     android:orderInCategory="0" 
     app:showAsAction="ifRoom" 
     android:icon="@drawable/abc_ic_go" /> 
</menu> 
+0

Спасибо, что он сработал: D –

0

Используйте этот Xmlns: андроид = "http://schemas.android.com/apk/res/андроида»

Попробуйте этот код

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<!-- Adds an item to the list. --> 
<item 
    android:id="@+id/action_add" 
    android:icon="@drawable/ic_action_new" 
    android:showAsAction="ifRoom" 
    android:title="@string/action_add"/> 
<item 
    android:id="@+id/action_search" 
    android:actionViewClass="android.widget.SearchView" 
    android:icon="@drawable/ic_action_search" 
    android:showAsAction="collapseActionView|ifRoom" 
    android:title="@string/action_search"/> 

</menu> 
2
getSupportActionBar().setDisplayShowHomeEnabled(true); 
getSupportActionBar().setIcon(R.drawable.ic_launcher); 

ИЛИ

сделать макет XML вызовите tool_bar.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@color/colorPrimary" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark" 
    android:elevation="4dp"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@color/colorPrimary" 
     android:src="@drawable/ic_action_search"/> 

    </RelativeLayout> 
</android.support.v7.widget.Toolbar> 

Теперь у вас основной деятельности добавить эту строку

<include 
     android:id="@+id/tool_bar" 
     layout="@layout/tool_bar" /> 
Смежные вопросы