Android MVP 项目分析

Android MVP 项目分析

Material Designer布局

1.activity_main.xml

布局分为:

  • 根布局 DrawerLayout。
  • 主内容页面 navigation_content.xml。
  • 侧拉菜单布局 NavigationView 必须给侧拉菜单设置 。android:layout_gravity=”start”,这样才能让根布局知道NavigationView 是侧拉菜单。

2 navigation_content.xml 从名字看出这个ViewGroup是用来协调它的子View的

布局分为:

  • 根局部 CoordinatorLayout
  • AppBarLayout 是CoordinatorLayout的子布局,AppBarLayout是一个LinearLayout,它的子View默认纵向排列, 可以通过一些参数控制子View的滑动行为。layout_scrollFlags(scroll,enterAlways,enterAlwaysCollapsed,snap,exitUntilCollapsed)

    • scroll

      1. 先滚动scollerView,在滚动这个view
      2. 其他的flag都要和scroll这个flag配合使用。要不会失效
      
    • enterAlways

      1. 无论怎么滚动,设置flag为enterAlways的view都先滚动
      
    • enterAlwaysCollapsed

      enterAlways的附加值。这里涉及到Child View的高度和最小高度。设置flag为scroll|enterAlways|enterAlwaysCollapsed的view
      1. 下拉
      
          1.1 都先滚动到minHeight,
          1.2 然后Scrolling View开始移动到边界
          1.3 Child View再向下滚动,直至显示到layout_height。
      
      2. 上拉
      
          2.1 Child View直接进去
      
      ...
      android:layout_height="@dimen/dp_200"
      android:minHeight="@dimen/dp_56"
      ...
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
      ...
      
    • exitUntilCollapsed

      这里也涉及到最小高度。发生向上滚动事件时,Child View向上滚动退出直至最小高度,然后Scrolling View开始滚动。
      也就是,Child View不会完全退出屏幕。
      
    • snap

      添加吸附效果。For example, if the view only has it's bottom 25% displayed, it will be scrolled off screen completely. 
      Conversely, if it's bottom 75% is visible then it will be scrolled fully into view.
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基本功能 2016/10/31 添加抽奖功能,修复已知Bug(点击删除购物,出现闪退bug) 2016/10/28 添加微信分享功能 2016/10/28 添加忘记密码功能、完善用户评价系统、以及完善订单页面按钮功能及显示 2016/10/27 添加自动更新功能,修复已知的登陆闪退Bug 2016/10/26 添加订单查询(全部订单、待付款、待发货、待收货、待评价、退款和售后等查询)以及显示功能,收藏宝贝查询、及显示功能 2016/10/25 添加加入购物车功能、移除购物车中的商品和下单之后更新购物车等功能 2016/10/24 添加评论功能的显示、登陆用户的收藏和取消收藏功能、下单页面的显示、以及下单功能的实现 2016/10/23 添加商品的类别显示、分类查询展示、固定数据的搜索(暂数据固定) 2016/10/22 添加用户注销功能、头像的上传以及更新用户个人资料功能 2016/10/20 添加注册、登陆、加载默认头像等功能、解决ViewPager Fragment 中Fragment被预加载问 2016/10/19 进行主页、微淘、问大家、购物车、我的淘宝等页面的设计、添加轮播图、资讯滚动条功能 2016/10/18 构建基本MVP框架 开发过程中遇到的问题(可能导致程序无法运行的bug)及解决方案 当用户未登录,点击购物车,登陆之后,程序闪退 出现问题 :NullPointerException 解决方案: 使用Fragment的延加载(懒加载)实现对数据的加载 拍照无法进行图片的裁剪(不断加载) 解决步骤如下: Activity跳转图库的Intent如下 Intent takePhotoIntent = new Intent( “android.media.action.IMAGE_CAPTURE”); takePhotoIntent.putExtra( MediaStore.EXTRA_OUTPUT, imageUri); 在onActivityResult()方法中调用P层进行处理,相关代码如下 String uri = Environment.getExternalStorageDirectory() “/icoImage.jpg”; if(!allSelectedPicture.contains(uri)){ allSelectedPicture.add(uri); } ViewPager和Fragment结合使用,Fragment出现被预计载的情况 解决方案 项目中使用的主要技术及框架 框架 ButterKnife 注解绑定获取控件功能 Picasso 网络和本地图片的加载功能 okhttp 网络连接功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值