Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change color of hamburger icon in material design navigation drawer

I am following this example

http://www.androidhive.info/2015/04/android-getting-started-with-material-design/

and in this example it is showing hamburger icon white,i want to customize it and make it black,but i am not able to find anything to how to change it,can any one tell how to customize it?

Manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="info.androidhive.materialdesign" >       <uses-permission android:name="android.permission.INTERNET"></uses-permission>      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>     <application         android:allowBackup="true"         android:icon="@mipmap/ic_launcher"         android:label="@string/app_name"         android:theme="@style/MyMaterialTheme" >         <activity             android:name=".activity.MainActivity"             android:label="@string/app_name" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>     </application>  </manifest> 

style

<resources>      <style name="MyMaterialTheme" parent="MyMaterialTheme.Base">      </style>      <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">         <item name="windowNoTitle">true</item>         <item name="windowActionBar">false</item>         <item name="colorPrimary">@color/colorPrimary</item>         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>         <item name="colorAccent">@color/colorAccent</item>         <item name="homeAsUpIndicator">@drawable/hamburger</item>     </style>  </resources> 

MainActivity

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener {      private static String TAG = MainActivity.class.getSimpleName();      private Toolbar mToolbar;     private FragmentDrawer drawerFragment;      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);        mToolbar = (Toolbar) findViewById(R.id.toolbar);          setSupportActionBar(mToolbar);         getSupportActionBar().setDisplayShowHomeEnabled(true);          drawerFragment = (FragmentDrawer)                 getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);         drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);         drawerFragment.setDrawerListener(this);          // display the first navigation drawer view on app launch         displayView(0);     }       @Override     public boolean onCreateOptionsMenu(Menu menu) {         // Inflate the menu; this adds items to the action bar if it is present.         getMenuInflater().inflate(R.menu.menu_main, menu);         return true;     }      @Override     public boolean onOptionsItemSelected(MenuItem item) {         // Handle action bar item clicks here. The action bar will         // automatically handle clicks on the Home/Up button, so long         // as you specify a parent activity in AndroidManifest.xml.         int id = item.getItemId();          //noinspection SimplifiableIfStatement         if (id == R.id.action_settings) {             return true;         }          if(id == R.id.action_search){             Toast.makeText(getApplicationContext(), "Search action is selected!", Toast.LENGTH_SHORT).show();             return true;         }          return super.onOptionsItemSelected(item);     }      @Override     public void onDrawerItemSelected(View view, int position) {         displayView(position);     }      private void displayView(int position) {         Fragment fragment = null;         String title = getString(R.string.app_name);         switch (position) {             case 0:                 fragment = new HomeFragment();                 title = getString(R.string.title_home);                 break;             case 1:                 fragment = new FriendsFragment();                 title = getString(R.string.title_friends);                 break;             case 2:                 fragment = new MessagesFragment();                 title = getString(R.string.title_messages);                 break;             case 3:                 fragment = new ContactUsFragment();                 title = getString(R.string.title_contactus);                 break;             case 4:                 fragment = new AboutUsFragment();                 title = getString(R.string.title_aboutus);                 break;             default:                 break;         }          if (fragment != null) {             FragmentManager fragmentManager = getSupportFragmentManager();             FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();             fragmentTransaction.replace(R.id.container_body, fragment);             fragmentTransaction.commit();              // set the toolbar title             getSupportActionBar().setTitle(title);         }     } 
like image 538
Aditya Avatar asked Aug 07 '15 05:08

Aditya


People also ask

What is the hamburger icon called in Flutter?

As it is known, Hamburger Menu is part of Google's material design and gives users flexibility to navigate between different screens. It is also called as Drawer Menu in Flutter world. When we click on the three horizontal lines of hamburger menu, it opens up and shows the full menu of available screens.


1 Answers

To change color of hamburger icon you have to open "style.xml" class, then try this code:

<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">  </style>  <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">     <item name="windowNoTitle">true</item>     <item name="windowActionBar">false</item>     <item name="colorPrimary">@color/colorPrimary</item>     <item name="colorPrimaryDark">@color/colorPrimaryDark</item>     <item name="colorAccent">@color/colorAccent</item>     <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> </style>  <style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">     <item name="spinBars">true</item>     <item name="color">@android:color/black</item> </style> 

So check <item name="color">@android:color/black</item> line. Just change your desired color here.

like image 137
Anand Singh Avatar answered Oct 11 '22 17:10

Anand Singh