您的位置:首页 > 其它

glmis项目工作日志2_增加登录界面_将drawerlayout改为挤压滑动

2016-10-26 22:50 246 查看
昨天做的这些工作,今天才找出时间整理日志。佀老师要今天向学院领导汇报项目进度,所以我昨天加了一个登录界面,仅仅是静态界面。婷姐说抽屉菜单的滑动做成qq那样的挤压效果会更好。drawerlayout默认的是拉出抽屉后抽屉覆盖主内容区域,所以我改成了挤压滑动。

登录界面

这里我偷了懒,as创建项目时会有模板供开发者选择,于是我直接使用了登录的模板,增加了一个LoginActivity,这个过程中出了个小问题,由于MainActivity使用了主题,在添加LoginActivity后我忘记在AndroidManifest给MainActivity设置主题。出现的问题如下图





添加即可

drwaerlayout改为挤压



效果如图

这里参考了 Android抽屉效果的实现(不挤压,不覆盖)

只需在MainActivity加入

int mDrawerWidth;//抽屉全部拉出来时的宽度
float scrollWidth;//抽屉被拉出部分的宽度


在ActionBarDrawerToggle重写onDrawerSlide方法

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this,
drawer,
toolbar,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close){
//抽屉被拉出来或者推回去
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void onDrawerSlide(View arg0, float arg1) {
//因为arg1的范围是0.0-1.0,是一个相对整个抽屉宽度的比例
//所以要准换成
scrollWidth=arg1*mDrawerWidth;
//setScroll中的参数,正数表示向左移动,负数向右
mFrameLayout.setScrollX((int)(-1*scrollWidth));

}

};


这样就实现了挤压效果。

我觉得推特的布局蛮简洁的,可以将我们的项目布局设计成类似的。好了,继续撸代码吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: