美文网首页
Android 界面与导航学习笔记

Android 界面与导航学习笔记

作者: ChrisChanSysu | 来源:发表于2019-02-27 17:11 被阅读0次

布局

  • 使用ConstraintLayout构建布局,减少层级,渲染性能提升
  • 使用RecyclerView创建列表
    • RecyclerView.Adapter<*>
    • RecyclerView.LayoutManager
      • LinearLayoutManager 效果类似ListView
      • GridLayoutManager 效果为网格效果
      • StaggerGridLayoutManager 效果类似于美国国旗上的星星排列
    • RecyclerView.ViewHolder
  • 使用CardView创建布局
  • 改善布局性能
    • 优化布局层次结构 Lint
    • 通过<include/>和<merge/>标签复用布局
    • 通过<ViewStub>延迟加载,主要用于出错态和空态视图
    • 通过ViewHolder使ListView可以流畅滚动
  • 线性布局
    • layout_weight可用于“撑满”余下空间
  • 相对布局
    • 为了提升性能应该用ConstraintLayout
  • 自定义视图组件
    • 不重写View的onMeasure(),默认是100X100,计算完宽高之后要调用setMeasureDimension(int width, int height);
    • 不重写View的onDraw(),默认什么都没有;onDraw()提供一个Canvas,可以进行2D绘图,如果要进行3D的绘图,应该继承SurfaceView,而且要单开线程
      • Canvas控制绘制工具
      • Paint控制绘制方式
  • 通知
    • 通过NotificationCompat.Builder创建
    • 在android 8.0以上需要注册channel
    • 通知可以添加回复按钮,通过RemoteInput
  • 应用栏
    • 现在应该使用ToolBar来代替ActionBar
    • 需要继承AppCompatActivity,在manifest中设置theme为NoActionBar来禁用原生的ActionBar
    • 向Activity的布局添加一个ToolBar
    • 调用AppCompatActivity的setSupportActionBar将ToolBar传入
  • 控制系统界面可见度 实际操作的是decorView
    • 调暗系统栏 View.SYSTEM_UI_FLAG_LOW_PROFILE
    • 隐藏状态栏
      • 4.0以下,manifest的NoActionBar.Fullscreen或者window.setFlags(FLAG_FULLSCREEN)
      • 4.0以上,window.decorView设置FLAG_FULLSCREEN并且actionBar要隐藏
    • 隐藏导航栏
    • 启用全屏模式
      • Lean Back
      • Immersive
      • Sticky immersive
    • 响应界面可见度变更
  • 实现有效导航
    • ViewPager,页面源Adapter有FragmentPagerAdapter、FragmentStatePagerAdapter
    • DrawerLayout创建抽屉式导航栏
  • 支持滑动刷新 SwipeRefreshLayout
  • Snackbar
    • snackbar可以attach到任意的View上,但如果attach到CoordinatorLayout,可以被滑动消除,如果有FAB,可以顶起FAB;实际上,在构建snackbar时传入一个非CoordinatorLayout的view的话,内部会搜寻整个视图树来获得一个coordinatorLayout

相关文章

网友评论

      本文标题:Android 界面与导航学习笔记

      本文链接:https://www.haomeiwen.com/subject/grywyqtx.html