如何将动画设置为滑动菜单图标

Posted

技术标签:

【中文标题】如何将动画设置为滑动菜单图标【英文标题】:How to set animation to sliding menu icon 【发布时间】:2014-08-27 03:30:35 【问题描述】:

我正在使用jfeinstein10 的滑动菜单,我可以设置此处给出的导航抽屉图标

http://romannurik.github.io/androidAssetStudio/icons-nav-drawer-indicator.html.

现在我想知道如何为它设置动画,即当我拖动滑动列表时,它应该显示小瞬间效果,就像我们在 Play Store 应用中看到的那样。

我正在为操作栏使用 ABS 库

【问题讨论】:

【参考方案1】:

对于导航抽屉的应用程序图标控制,在 MainActivity 上添加新属性

ActionBarDrawerToggle mDrawerToggle;

在值/字符串/中添加打开和关闭描述

<string name="drawer_open">Open navigation drawer</string>
<string name="drawer_close">Close navigation drawer</string>

在MainActivity oncreate中添加应用图标控制代码

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(
    this,
    mDrawerLayout,
    R.drawable.ic_drawer, 
    R.string.drawer_open, 
    R.string.drawer_close 
    ) 

/** 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);

;

mDrawerLayout.setDrawerListener(mDrawerToggle);

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

添加 onOptionsItemSelected() 方法。这确实需要让应用图标成为导航抽屉的切换。

@Override
public boolean onOptionsItemSelected(MenuItem item) 

if (mDrawerToggle.onOptionsItemSelected(item)) 
   return true;


return super.onOptionsItemSelected(item);

最后,在 onPostCreate() 方法中。确实需要在应用程序图标之前更改向上插入符号图标

@Override
protected void onPostCreate(Bundle savedInstanceState) 
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();

【讨论】:

以上是关于如何将动画设置为滑动菜单图标的主要内容,如果未能解决你的问题,请参考以下文章

手机左右滑动屏幕切换页面是如何实现的

如何使用 jQuery 在菜单悬停时创建滑动动画?

像 Facebook Iphone 应用程序一样滑动 ViewController 动画 [重复]

Lion 全屏菜单栏不向下滑动

尝试在 IOS 中创建滑动条菜单

当 UISplitViewController 上的菜单滑动时,收缩细节视图控制器动画