Coder Social home page Coder Social logo

httpapi's Introduction

Project

项目基本结构

  • app - 宿主应用,组合个业务模块形成应用
  • framework - 项目框架,引用各种库并加入第三方依赖形成有业务倾向的框架
  • libs - 项目业务相关或不稳定的的一些库
    • lib1
    • lib2
    • lib3
  • modules - 项目业务模块,依赖framework,各个模块是互相隔离无感知的
    • foo
    • bar
    • zoo
  • repo - 项目仓库,已经成型稳定
    • aar - 功能库,单一职责,应该在任何项目都可以单独引入使用

Repo

repositories {
    maven { url "https://gitee.com/ezy/repo/raw/cosmo/"}
} 

Foundation

UI

  • loading - https://github.com/czy1121/loading
    一些 loading 动画
  • statelayout - https://github.com/czy1121/statelayout
    简单实用无侵入高扩展的页面多状态布局(content,loading,empty,error)
  • tabs - https://github.com/czy1121/tabs
    简化 TabLayout 使用,使用 TabItemView 代替 TabLayout.TabView,支持远程动态加载图标
  • bannerview - https://github.com/czy1121/bannerview
    简单好用的水平轮播控件
  • pickerview - https://github.com/czy1121/pickerview
    使用 RecyclerView 实现的滚轮控件,这个可以显示3个以上元素(系统自带的 NumberPicker 写死了只能显示3个)。
  • pullrefresh - https://github.com/czy1121/pullrefresh
    实现了嵌套滚动机制的下拉刷新控件。
  • scrollinglayout - https://github.com/czy1121/scrollinglayout
    垂直方向支持多个子视图持续连贯滚动的容器,并且支持吸顶功能。
  • bk - https://github.com/czy1121/bk
    BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView 可自定义 背景色/渐变/圆角/阴影/描边
    • 支持 背景色[正常/选中/按下/禁用]
    • 支持 渐变[类型/半径/方向/中心点XY坐标(0.0~1.0)/颜色(开始-中心-结束)]
    • 支持 圆角[半径,位置],根据宽高自动计算圆角半径 min(height,width) / 2
    • 支持 阴影[颜色/半径/边距(容纳阴影的空间)]
      • 阴影颜色默认自动从背景或描边获取,也可以手动设置
      • 阴影绘制算法取自 ShadowRenderer
    • 支持 描边[颜色/厚度/虚线长度/虚线间隙]
    • BKTextView 支持 图标[图标/尺寸/边距/着色/位置],类似 MaterialButton 的图标
  • tv - https://github.com/czy1121/tv
    一些实用的自定义TextView
    • CamelTextView - 可额外设置两个文本(prefix/suffix),可用于带单位的数值,比如:123.0
    • ThreeTextView
      • 可额外设置两个文本(text2/text3),text2 在 text 底下,text3 在右边
      • 可设置左右两个图标(leftIcon/rightIcon)
    • ExpandableTextView - 可展开收缩的的文本,点击切换状态,右下角显示状态图标(展开/收缩)
    • ReadMoreTextView - 可展开收缩的的文本,点击切换状态,尾部显示状态文本(展开/收缩)
  • rv - https://github.com/czy1121/rv
    RecyclerView 扩展:itemtype, loadmore, selection, decoration
    • rv-itemtype
      • 基于 ListAdapter 内置支持 AsyncListDiffer
      • 支持单类型列表(SingleTypeAdapter)和多类型列表(ItemTypeAdapter)
      • ItemType<Item, Holder> 表示列表里的一个类型
        • 通过 create 创建 Holder
        • 通过 matches 判断是否与数据(Item)关联
        • 通过 bind 将关联的数据(Item)呈现到 Holder
      • ItemSubtype 支持一个数据类型对应多个子类型布局
      • 内置的 ViewItemType 可以方便地将自定义视图(View)与数据(Item)关联组成一个ItemType
      • 内置的 LayoutItemType 可以方便地将布局(layoutResId)与数据(Item)关联组成一个ItemType
      • 内置的 bindingType 函数封装了 LayoutItemType 以支持 DataBinding
    • rv-loadmore,支持加载更多的多类型列表(LoadMoreAdapter)
      • 在 rv-itemtype, statelayout 的基础上实现了加载更多
      • 支持显示多种状态: loading, offline, empty, hasMore, ended, error
        • 开始加载:有网(loading), 无网(offline)
        • 完成加载:无数据(empty)
        • 完成加载/加载下一页:有数据有下一页(hasMore), 有数据无下一页(ended)
        • 加载下一页:出错(error)
    • rv-selection,基于 recyclerview-selection, ListAdapter 和 StringKey 的单选/多选库
      • selectionTracker 构造一个 SelectionTracker
      • SelectionViewModel 保存了当前的选择状态
    • rv-decoration
      • DividerDecoration 为列表项之间添加分隔线
      • SpaceDecoration 为列表项之间添加空白

Tool

Other

Demo

httpapi's People

Contributors

czy1121 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

caostgrace cybkw

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.