I will also solve this problem. Just change some of the code in XML and Java.
Change the code by following the code ...... I think solve your problem
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" > <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <LinearLayout android:id="@+id/drawerll" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:orientation="vertical" > <LinearLayout android:id="@+id/drawer" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="start" android:background="@color/list_item_title" android:gravity="center_vertical" android:orientation="horizontal" > <ImageView android:layout_width="80dp" android:layout_height="80dp" android:paddingLeft="20dp" android:src="@drawable/pic_pic" /> <LinearLayout android:id="@+id/drawer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:background="@color/list_item_title" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="Shohel Rana" android:textSize="14sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:gravity="center" android:text="test@gmail.com" android:textSize="14sp" /> </LinearLayout> </LinearLayout> <ListView android:id="@+id/list_slidermenu" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/list_item_title" android:choiceMode="singleChoice" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" /> </LinearLayout> </android.support.v4.widget.DrawerLayout>
And Java code Just added below code:
final boolean drawerOpen = mDrawerLayout.isDrawerOpen (drawerll);
here drawerll stands for Total linear Layout. as well as mDrawerLayout.closeDrawer (drawerll);
and close Layer Layout ....
Here's the Total Java Code:
package by.fitbody;`enter code here` import java.util.ArrayList; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.SearchManager; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SearchView; import android.widget.Toast; import by.fitbody.adapter.NavDrawerListAdapter; import by.fitbody.model.NavDrawerItem; public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; // nav drawer title private CharSequence mDrawerTitle; // used to store app title private CharSequence mTitle; // slide menu items private String[] navMenuTitles; // private TypedArray navMenuIcons; private ArrayList<NavDrawerItem> navDrawerItems; private NavDrawerListAdapter adapter; private Context con = null; LinearLayout drawerll; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); con = this; final ActionBar bar = getActionBar(); bar.setBackgroundDrawable(new ColorDrawable(getResources().getColor( R.color.customRed))); bar.setIcon(R.drawable.articles_05); mTitle = mDrawerTitle = getTitle(); // load slide menu items navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items); // nav drawer icons from resources // navMenuIcons = getResources() // .obtainTypedArray(R.array.nav_drawer_icons); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.list_slidermenu); drawerll = (LinearLayout) findViewById(R.id.drawerll); makeSlideList(); // enabling action bar app icon and behaving it as toggle button getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.main_menu, // nav menu toggle icon R.string.app_name, // nav drawer open - description for // accessibility R.string.app_name // nav drawer close - description for // accessibility ) { @Override public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); // calling onPrepareOptionsMenu() to show action bar icons invalidateOptionsMenu(); } @Override public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); // calling onPrepareOptionsMenu() to hide action bar icons invalidateOptionsMenu(); } }; mDrawerLayout.setDrawerListener(mDrawerToggle); if (savedInstanceState == null) { // on first time display view for first nav item displayView(0); } } /* * make slide list */`enter code here` private void makeSlideList() { // TODO Auto-generated method stub navDrawerItems = new ArrayList<NavDrawerItem>(); // adding nav drawer items to array // Home navDrawerItems.add(new NavDrawerItem(navMenuTitles[0])); // Find People navDrawerItems.add(new NavDrawerItem(navMenuTitles[1])); // Photos navDrawerItems.add(new NavDrawerItem(navMenuTitles[2])); // Communities, Will add a counter here navDrawerItems.add(new NavDrawerItem(navMenuTitles[3])); // Pages navDrawerItems.add(new NavDrawerItem(navMenuTitles[4])); // What hot, We will add a counter here navDrawerItems.add(new NavDrawerItem(navMenuTitles[5])); navDrawerItems.add(new NavDrawerItem(navMenuTitles[6])); navDrawerItems.add(new NavDrawerItem(navMenuTitles[7])); navDrawerItems.add(new NavDrawerItem(navMenuTitles[8])); // Recycle the typed array // navMenuIcons.recycle(); mDrawerList.setOnItemClickListener(new SlideMenuClickListener()); // setting the nav drawer list adapter adapter = new NavDrawerListAdapter(getApplicationContext(), navDrawerItems); mDrawerList.setAdapter(adapter); } /** * Slide menu item click listener * */ private class SlideMenuClickListener implements ListView.OnItemClickListener { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // display view for selected nav drawer item displayView(position); } } @Override public boolean onCreateOptionsMenu(Menu menu) { final MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbarmenu, menu); // Associate searchable configuration with the SearchView final SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView searchView = (SearchView) menu.findItem( R.id.action_search).getActionView(); searchView.setSearchableInfo(searchManager .getSearchableInfo(getComponentName())); return super.onCreateOptionsMenu(menu); } /* * fo(non-Javadoc) * * @see android.app.Activity
I think this will solve your problem:
I just changed the code for this site: http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/
Shohel anaana
source share