【www.bbyears.com--Action】
Material Design中一个重要特性是侧滑菜单 展开/关闭 时,ActionBar上的home图标也动画切换。本例要实现的正是这个效果,如图所示:
实现这个效果仅需几步:
1.首先,该页面的布局是一个DrawerLayout,代码如下:
代码如下 <frameLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"/>2.为程序指定Actionbar箭头按钮样式,即如下代码中的DrawerArrowStyle
代码如下然后,将AppTheme应用到manifest中application标签下。
3. Activity继承自AppCompatActivity, 然后在onCreate方法中添加代码(使用Toolbar与此类似):
代码如下 ActionBar mActionBar = getSupportActionBar(); if(mActionBar !=null) { mActionBar.setDisplayHomeAsUpEnabled(true); mActionBar.setHomeButtonEnabled(true); } //实现左侧home图标“菜单”样式与“返回”样式的动画切换(需要在xml中配置相关样式) drawerToggle =newActionBarDrawerToggle(this, drawerLayout, R.string.drawer_open, R.string.drawer_close); drawerLayout.setDrawerListener(drawerToggle);4.在Activity的onPostCreate中添加如下代码,并且在其它可能需要刷新的地方调用drawerToggle.syncState() 方法。
代码如下 @Override protectedvoidonPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); drawerToggle.syncState(); }