如何用API19和更低版本设备上的新抽屉动画替换应用程序图标?

时间:2014-10-19 16:08:41

标签: android material

我的抽屉里的新动画有问题,请看我这里的G +帖子:Link to the Picture

如何使用API​​19和更低版本设备上的新抽屉动画替换应用程序图标?我希望它看起来像PlayStore,Newstand等等。

2 个答案:

答案 0 :(得分:2)

您将需要新的支持V7库,并且需要设置Action Bar Drawer Toggle - 将this作为您的活动/上下文:

ActionBarDrawerToggle navigationToggle = new ActionBarDrawerToggle(this,navigationDrawerLayout,R.string.nav_drawer_open,R.string.nav_drawer_closed);
navigationDrawerLayout.setDrawerListener(navigationToggle);

ActionBarDrawerToggle从android.support.v7.app.ActionBarDrawerToggle继承的地方

您的新活动必须延长ActionBarActivity提供的android.support.v7.app.ActionBarActivity,否则操作栏将不会显示。您可能需要将所有操作栏引用从getActionBar()调整为getSupportActionBar()。让我知道是否有任何我可以提供的帮助,因为我只是使用SupportV7库将2个应用程序转换为新指南。

答案 1 :(得分:1)

Logan所说的是正确的,但不需要做太多改变。

如果您已经有抽屉,那么您很可能会有类似的代码。

import android.support.v4.app.ActionBarDrawerToggle;
//some other code
    mDrawerToggle = new ActionBarDrawerToggle(
            this, mDrawerLayout,
            R.drawable.ic_drawer,  /* nav drawer icon to replace 'Up' caret */
            R.string.drawer_open,
            R.string.drawer_close)

如果是这样,那么您需要做的就是删除上面注释的行,然后更改为v7库,以便得到类似的内容。

import android.support.v7.app.ActionBarDrawerToggle;
//some other code
    mDrawerToggle = new ActionBarDrawerToggle(
            this, mDrawerLayout,
            R.string.drawer_open,
            R.string.drawer_close)

除标准Activity外,无需更改继承任何内容;并使用诸如holo.light.darkactionbar之类的主题或任何其他与动作栏相关的主题都可以正常工作。