DrawerLayout的旋转箭头的实现方式

本文详细介绍了如何在Android应用中设置侧滑菜单,包括初始化Toolbar和DrawerLayout组件,使用ActionBarDrawerToggle进行联动操作,并确保在不同配置下菜单显示正常。
mMainBar = (Toolbar)this.findViewById(R.id.main_bar);  
this.setSupportActionBar(mMainBar);  
mDrawerLayout = (DrawerLayout)this.findViewById(R.id.main_drawer_layout);  
mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mMainBar, R.string.app_name, R.string.hello_world);  
mDrawerLayout.setDrawerListener(mToggle);  

注意:此时的ActionBarDrawerToggle不是v4包中的,而是android.support.v7.app.ActionBarDrawerToggle

还需要下面的代码才能实现效果

@Override  
    protected void onPostCreate(Bundle savedInstanceState) {  
        super.onPostCreate(savedInstanceState); 
        mToggle.syncState();  //这一行必须在setDrawerListener()之前调用
    }  

    @Override  
    public void onConfigurationChanged(Configuration newConfig) {  
        super.onConfigurationChanged(newConfig); 
        mToggle.onConfigurationChanged(newConfig);  
    }  

注意:syncState()和setDrawerListener()的调用顺序,否则效果不会出现。重写的是onPostCreate(Bundle savedInstanceState),别重现成onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState),我之前就是重写错了方法导致效果没有出现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值