现在的位置: 首页 > 综合 > 正文

api21最新导航箭头动画的使用

2017年11月14日 ⁄ 综合 ⁄ 共 1685字 ⁄ 字号 评论关闭


当然主要是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弹出的效果如下:



抱歉!评论已关闭.