glmis项目工作日志2_增加登录界面_将drawerlayout改为挤压滑动
2016-10-26 22:50
246 查看
昨天做的这些工作,今天才找出时间整理日志。佀老师要今天向学院领导汇报项目进度,所以我昨天加了一个登录界面,仅仅是静态界面。婷姐说抽屉菜单的滑动做成qq那样的挤压效果会更好。drawerlayout默认的是拉出抽屉后抽屉覆盖主内容区域,所以我改成了挤压滑动。
添加即可
效果如图
这里参考了 Android抽屉效果的实现(不挤压,不覆盖)
只需在MainActivity加入
在ActionBarDrawerToggle重写onDrawerSlide方法
这样就实现了挤压效果。
我觉得推特的布局蛮简洁的,可以将我们的项目布局设计成类似的。好了,继续撸代码吧。
登录界面
这里我偷了懒,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)); } };
这样就实现了挤压效果。
我觉得推特的布局蛮简洁的,可以将我们的项目布局设计成类似的。好了,继续撸代码吧。
相关文章推荐
- glmis项目工作日志1_使用RecyclerView_DrawerLayout全屏滑动_使用ButterKnife
- glmis项目工作日志4_解决RecyclerView中使用CheckBox时出现数据错乱的问题。
- glmis项目工作日志3_联系人字母表_RecyclerView实现GridView
- 使用ActionBar和DrawerLayout纯原生控件,实现侧滑栏和滑动Tab界面
- 【小平工作日志】mava项目pom.xml文件完整版参考(根据自身项目筛减增加)
- C# 餐桌项目增加、修改、删除、查询(登录注册界面)
- ActionBar和DrawerLayout纯原生控件,实现侧滑栏和滑动Tab界面
- 【Android界面实现】使用ActionBar和DrawerLayout纯原生控件,实现侧滑栏和滑动Tab界面
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(6) 控制器基类 主要做登录用户、权限认证、日志记录等工作
- BLENDER项目工作日志7
- 项目工作日志(3)
- 项目工作日志(5)
- 项目工作日志(1)
- 项目工作日志(2)
- Blender项目工作日志13
- 项目工作日志(5)
- 项目工作日志(3)
- 项目工作日志(2)
- 项目工作日志(3)
- BLENDER项目工作日志10