Skip to content
/ ABase Public

AndroidX+MVVM+RxHttp+协程+LiveData+Multitype适配器+StartUp+MMKV+ImmersionBar+AndroidAutoSize+SmartRefresh+SmartSwipe+Coil图片加载+LiveEventBus+Banner+RecyclerView万能分割线+Grid拖拽+Sticky悬浮+APK加固后重新写入V2签名+美团多渠道打包Bat批处理等

Notifications You must be signed in to change notification settings

Khaos116/ABase

Repository files navigation

ABase(采用AndroidX)

2021年11月9日发现干货集中营暂时无法访问

2022年3月8日第二个页面暂时替换为ReadHub新闻

可以使用Build Scan(Terminal下执行gradlew build --scan)分析构建情况(相关配置在settings.gradle中) 注:测试发现多渠道Build Scan貌似无法成功,可以关闭多渠道到进行Build Scan

三方库 描述
Timber JakeWharton大神的Log打印工具
AndroidUtilCode 超强工具合集
AndroidAutoSize 今日头条UI适配方案
ImmersionBar 状态栏和虚拟导航栏、全面屏+刘海屏适配、键盘监听
MMKV 腾讯推出的替代SharedPreferences的更高效方案
Coroutines Kotlin协程,替代Rxjava
OkhttpLog 美化OKhttp请求和响应打印日志
RxHttp 新一代OkHttp请求神器,自带缓存策略,兼容Kotlin协程
RxAndroid Android链式调用Rxjava
Coil Kotlin版本的图片加载(内置高斯模糊和黑白化功能)
MultiType 多类型适配器与Epoxy类似(积木搭建式)
XXpermissions 兼容最新安卓11的权限请求框架
LiveEventBus 跨进程通信、跨APP通信、自动取消订阅
AgentWeb 简化WebView加载
Itemanimators RecyclerView动画局部刷新动画
DslTabLayout 样式齐全的ViewPager指示器
SmartSwipe 仿微信、小米侧滑返回
SmartRefresh 下拉刷新,兼容性和效果比SmartSwipe好
CacheEmulatorChecker 模拟器检测工具
Leakcanary 内存泄漏检测工具
Uinspector 取代LayoutInspector的UI调试工具(仅限Debug模式)
PictureSelector 强悍的图片选择,大图预览工具
Emoji 聊天Emoji表情选择面板
SideBar 通讯录侧边栏SideBar
FlexboxLayout 谷歌推出的标签展示控件(Recycler流式布局)
DKPlayer UI封装比较美观的播放器
Lottie AE动画库
TinyPinyin 中文转拼音工具
DatePickerView 基于RecyclerView的滚轮选择器(Koltin编写)
SpEditTool 微博@和#变色效果
DiscreteScrollView 实现无限轮播Banner、ViewPager横竖屏滑动等
Walle 美团瓦力打包(Bat批量打包+说明)
=============================== ===============================

//================================================================//

Banner效果图

横向Banner纵向Banner

//================================================================//

BannerItem代码配置

override fun fillData(holder: BaseViewHolder<ItemBannerBinding>, item: MutableList<BannerBean>) {
  if (holder.itemView.getTag(R.id.tag_banner) != item) {
    holder.itemView.setTag(R.id.tag_banner, item)
    val banner = holder.itemView.findViewById<DiscreteBanner<BannerBean, ItemBannerImgBinding>>(R.id.itemBanner)
    banner.layoutParams.height = (ScreenUtils.getScreenWidth() * 500f / 900).toInt()
    banner.setLooper(true) //无限循环
      .setAutoPlay(true) //自动播放
      .setOrientation(if (System.currentTimeMillis() % 2 == 0L) DSVOrientation.HORIZONTAL else DSVOrientation.VERTICAL)
      .setOnItemClick { position, t -> onItemBannerClick?.invoke(t, position) } //banner点击
      .apply {
        getIndicator()?.needSpecial = false //去除引导页的特殊指示器
        if (getOrientation() == DSVOrientation.HORIZONTAL.ordinal) { //由于默认是横向原点居底部(引导页使用),所以banner处修改为底部居右
          setIndicatorGravity(Gravity.BOTTOM or Gravity.END)
          setIndicatorOffsetY(-defaultOffset / 2f)
          setIndicatorOffsetX(-defaultOffset)
        }
      }
      .setPages(object : DiscretePageAdapter<BannerBean, ItemBannerImgBinding>(item) {
        override fun fillData(data: BannerBean, binding: ItemBannerImgBinding, position: Int, count: Int) {
          binding.itemBannerImg.loadImgHorizontal(data.imagePath, 900f / 500)
        }
      }, item) //BannerBean的数据列表MutableList<BannerBean>
  }
}

//================================================================//

所有效果

所有效果

//================================================================//

非均分Grid分割线效果

分割线效果

//================================================================//

聊天Emoji效果图

聊天Emoji

//================================================================//

Coil加载视频封面和压缩视频

封面和压缩

//================================================================//

控件高斯模糊效果

高斯模糊

//================================================================//

Sticky吸顶效果

吸顶效果吸顶效果

//================================================================//

学生成绩单滑动吸顶效果

成绩单吸顶效果

//================================================================//

@或#效果

高斯模糊

//================================================================//

Coordinator嵌套刷新

Coordinator嵌套刷新

//================================================================//

MultiType展开和收缩效果

MultiType展开和收缩效果

//================================================================//

MultiType列表视频播放

列表视频播放

//================================================================//

VerticalViewPager抖音播放效果

抖音播放效果

About

AndroidX+MVVM+RxHttp+协程+LiveData+Multitype适配器+StartUp+MMKV+ImmersionBar+AndroidAutoSize+SmartRefresh+SmartSwipe+Coil图片加载+LiveEventBus+Banner+RecyclerView万能分割线+Grid拖拽+Sticky悬浮+APK加固后重新写入V2签名+美团多渠道打包Bat批处理等

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages