【从零开始学android编程】Android编程实现ActionBar的home图标动画切换效果

更新时间:2021-05-30    来源:Action    手机版     字体:

【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

   代码如下          @color/colorPrimary     @color/colorPrimaryDark     @color/colorAccent     @style/DrawerArrowStyle     true     @android:color/white  

然后,将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(); }  

本文来源:http://www.bbyears.com/flash/120789.html