0
public class MainActivity extends ActionBarActivity { 
    private String[] drawerListItems; 
    private ListView drawerListView; 
    private DrawerLayout drawerlayout; 
    private ActionBarDrawerToggle drawToggle; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main);   

     drawerlayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawerListItems = getResources().getStringArray(R.array.DrawreMenue); 
     drawerListView = (ListView) findViewById(R.id.slidermenu); 
     Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar); 
     //getActionBar().setIcon(R.drawable.ic_launcher); 
     drawerListView.setAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, drawerListItems)); 
     //drawerListView.setOnItemClickListener(this); 
     drawerListView.setOnItemClickListener(new DrawerItemClickListener()); 

     drawToggle = new ActionBarDrawerToggle(this, drawerlayout,toolbar, 
       R.string.draw_open, 
       R.string.draw_close 
     ) { 


      public void onDrawerClosed(View view) { 
       super.onDrawerClosed(view); 

      }  

      public void onDrawerOpened(View drawerView) { 
       super.onDrawerOpened(drawerView); 

      } 
     } ; 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setIcon(R.drawable.ic_drawer); 

     drawerlayout.setDrawerListener(drawToggle); 
     drawToggle.syncState(); 
    } 

Я использую этот код в Android StudioAndroid навигация Выдвижной Иконы на ActionBar

minSdkVersion 8

targetSdkVersion 21

Это показывает выдвижные ящики значок, но на щелчок не открывая список Ящика и не закрывать его, когда он открывается путем сдвига

+1

Это очень простой и код, предоставленный Android. Вы можете получить пример кода из http://developer.android.com/training/implementing-navigation/nav-drawer.html .. –

ответ

0

Прежде всего, вам нужно найти идентификатор кнопки, которую вы хотите щелкнуть, чтобы открыть ящик, а затем просто введите код i п нажмите слушателю, чтобы открыть

mDrawerLayout.openDrawer(mDrawer); 

и закрыть ящик поместить

mDrawerLayout.closeDrawer(mDrawer); 
1

Вы должны добавить еще два метода onPostCreate и onConfigurationChanged

mDrawerToggle = new ActionBarDrawerToggle(
       this,     /* host Activity */ 
       mDrawerLayout,   /* DrawerLayout object */ 
       R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */ 
       R.string.drawer_open, /* "open drawer" description */ 
       R.string.drawer_close /* "close drawer" description */ 
       ) { 

      /** Called when a drawer has settled in a completely closed state. */ 
      public void onDrawerClosed(View view) { 
       super.onDrawerClosed(view); 
       getActionBar().setTitle(mTitle); 
      } 

      /** Called when a drawer has settled in a completely open state. */ 
      public void onDrawerOpened(View drawerView) { 
       super.onDrawerOpened(drawerView); 
       getActionBar().setTitle(mDrawerTitle); 
      } 
     }; 

     // Set the drawer toggle as the DrawerListener 
     mDrawerLayout.setDrawerListener(mDrawerToggle); 

     getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
    } 

    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
     // Sync the toggle state after onRestoreInstanceState has occurred. 
     mDrawerToggle.syncState(); 
    } 

    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     mDrawerToggle.onConfigurationChanged(newConfig); 
    } 

Source