2017-08-14 3 views
-3

ma barre d'outils n'affiche rien. Tout semble bien mais ça ne marche pas. Même lorsque j'ajoute un titre, la barre d'outils ne le montre pas. Il ne change de couleur que lorsque je le change dans acivity_basic.xml. MerciAndroid - barre d'outils ne montre rien

Manifest

<activity android:name=".BasicActivity" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 

BasicActivity.java

rootView = getLayoutInflater().inflate(R.layout.activity_basic, null); 
    Toolbar toolbar = (Toolbar) rootView.findViewById(R.id.basic_toolbar); 
    if(toolbar != null) { 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayShowTitleEnabled(true); 
     getSupportActionBar().setTitle("My custom toolbar!"); 
     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

onCreateOptionMenu dans BasicActivity

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_basic, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

acivity_basic.xml

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/activity_basic" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.android.sloth.BasicActivity"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/basic_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@android:color/white" 
    android:elevation="4dp"/> 

menu_basic.xml

<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=".BasicActivity"> 


<item 
    android:id="@+id/toolbar_menu" 
    android:icon="@drawable/ic_menu_black_24dp" 
    app:showAsAction="always" 
    android:orderInCategory="100" 
    android:title="Menu" 
    > 
</item> 

+1

Il est évident que vous devez décommenter partie de la barre d'outils dans la mise en page. – Selvin

+2

Les activités utilisent généralement setContentView, mais pas un LayoutInflater. Utilisez-vous réellement un fragment ?? –

+0

C'est une activité, j'ai setContentView (R.layout.activity_basic); above getMenuInflater – Yuro8

Répondre

0

C'est ce que j'ai pour mon projet. J'ai enveloppé un AppBarLayout (avec un coordinatorLayout) autour de la barre d'outils dans le XML. et je retourne vrai pour onCreateOptionsMenu au lieu d'appeler super.onCreateOptionsMenu()

Le reste de mes codes ressemble à ce que vous avez actuellement. vous pouvez essayer de voir si ça aide.

dans la méthode onCreate de MainActivity()

if(toolbar !=null){ 
    toolbar.setSubtitle("My Toolbar"); 
    setSupportActionBar(toolbar); 
    Actionbar abar = getSupportActionbar(); 
    if(aBar !=null){ 
     aBar.setDisplayHomeAsEnabled(false); 
    } 
} 

dans onCreateOptionsMenu (menu du menu) de MainActivity

onCreateOptionsMenu(Menu menu){ 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    MenuItem mi = menu.findItem(R.id.menu_search); 
    ... my custom handling for mi (change color, hide/show specific mi, etc). 

    return true; 
} 

dans mon XML d'activité

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.design.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@android:color/transparent" 
      android:elevation="4dp" 
      android:theme="@style/AppTheme.AppBarOverlay" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/AppTheme.AppBarOverlay" /> 
    </android.support.design.widget.AppBarLayout> 

    <RelativeLayout... > 
    ... rest of stuff 
    </RelativeLayout> 

</android.support.design.widget.Coordinatorlayout> 
+0

ne fonctionne toujours pas :( – Yuro8