当然主要是DrawerLayout 中
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
首先
mDrawerLayout=(DrawerLayout) findViewById(R.id.drawer_layout);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//ActionBarDrawerToggle记得这里要用v7包下面的,和v4的区别少了个图片参数。。
drawerToggle=new ActionBarDrawerToggle(this, mDrawerLayout, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
mDrawerLayout.setDrawerListener(drawerToggle);
其次重写如下2个方法
@Override
protected void onPostCreate(Bundle savedInstanceState) {
drawerToggle.syncState();//这个必须要,没有的话进去的默认是个箭头。。正常应该是三横杠的
super.onPostCreate(savedInstanceState);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(drawerToggle.onOptionsItemSelected(item)){
return true;//这个作用和当初的android.R.id.home差不多,就是设置那导航箭头的点击事件的。
}
//......
return super.onOptionsItemSelected(item);
}
还在研究咋替换那个动画图片了。。。。
===========toolbar的使用,替换掉老的actionbar
首先,需要一个主题,禁止掉actionbar
<activity android:name="AaaActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"></activity>
布局文件中如下:
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
代码中如下使用:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aaa);
mToolbar=(Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(mToolbar);
}
其他的使用就和actionbar一样,就把toolbar和以前的actionbar一样用就好。最新的popup弹出的效果如下: