2017-07-10 2 views
0

J'ai réussi à créer un tiroir et j'ai le signe du hamburger, mais le hamburger ne fonctionne pas lorsqu'il est tapé. Aussi, comment puis-je changer le code afin que mon application dispose d'une barre de notification transparente de sorte que la couleur est la même (ou de préférence un peu plus sombre) et on peut voir le tiroir de l'application ouverte dans la barre d'état. Quelque chose comme ceci: Transparent status barL'hamburger ne fonctionne pas

FirstActivity.java:

public class FirstActivity extends AppCompatActivity { 

DrawerLayout mDrawer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_me_clicked); 
    Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); //removes the package name from toolbar 

//  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
//   Window w = getWindow(); // in Activity's onCreate() for instance   //Integration of app into status bar 
//   w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
//  } 

    // These lines are needed to display the top-left hamburger button 
    getSupportActionBar().setHomeButtonEnabled(true); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


    // Make the hamburger button work 
    mDrawer = (DrawerLayout) findViewById(R.id.DL); 

    ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this,mDrawer,R.string.app_name,R.string.app_name){ 
     @Override 
     public void onDrawerClosed(View drawerView) { 
     } 

     @Override 
     public void onDrawerOpened(View drawerView) { 
     } 
    }; 
    mDrawer.addDrawerListener(mDrawerToggle); 
    mDrawerToggle.syncState(); 

    // toasts the message when ListView item is clicked 
    ListView mDrawerListView = (ListView) findViewById(R.id.left_drawer); 
    mDrawerListView.setOnItemClickListener(new ListView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String drawerstring = ("Menu Item at position " + position + " clicked."); 
      mDrawer.closeDrawer(GravityCompat.START); 
      Toast.makeText(getApplicationContext(),drawerstring,Toast.LENGTH_SHORT).show(); 
     } 
    }); 

} 
+0

Mettez votre fichier activity_me_clicked.xml –

Répondre

0

Vous devez remplacer onOptionsItemSelected et gérer l'élément d'accueil pour ouvrir le tiroir. Ce n'est pas fait pour vous, parce que Android ne sait pas ce que vous utilisez ce bouton pour (home? Retour? Hamburger? Quelque chose d'autre?). ActionDrawerToggle sait comment le gérer si vous souhaitez simplement le déléguer.

+0

Comment puis-je obtenir la barre d'état transparente: https://i.stack.imgur.com/i09yA.png. – Nautatva