BaseAndroidDev
一个基本的开发框架,便于自己及团队快速开发,包含各种实用的 BaseActivity 、BaseFragment 、framework 、utils 等,工(lao)程(si)师(ji)必备。
使用
JitPack 引入方法
1. 在 Project 下的 build.gradle 添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2. 在 Module 下的 build.gradle 添加
dependencies {
compile 'com.github.lishide:BaseAndroidDev:v+latest version' //latest version 见上方 JitPack 图标所示
//如:
compile 'com.github.lishide:BaseAndroidDev:v1.0.7'
}
Ps:在使用的时候请看清是以 com.base.adev
开头的包名。
文档 Wiki
一、Base
1. BaseActivity
基础 Activity
2. BaseRecyclerActivity
只有列表显示的界面的基础 Activity
3. BaseTabBottomActivity
底部 Tab 的基础 Activity
4. BaseTabLayActivity
顶部 TabLayout 的基础 Activity
5. BaseFragment
基础 Fragment
6. BaseRecyclerFragment
只有列表显示的界面的基础 Fragment
7. BaseAdapter
基础 Adapter
二、Net framework
1. Volley
2. NoHttp
三、自定义控件
收集整理一些实用的自定义控件,会持续更新。
widget | 描述 |
---|---|
com.base.adev.view.MarqueeTextView | 文字跑马灯功能(自定义跑马灯控件) |
com.base.adev.view.NoticeView | 广告条控件 |
com.base.adev.view.LedTextView | LED 文字控件 |
com.base.adev.view.coverflow.CoverFlowView | CoverFlow 自定义控件 |
com.base.adev.view.ActionSheetDialog | 仿 iOS 的底部弹出 dialog |
com.base.adev.view.IosAlertDialog | 仿 iOS 的中间弹出 dialog |
com.base.adev.view.ToastView | 自定义 ToastView 控件 |
四、工具类
收集整理一些实用的工具类,会持续更新。
utils | 描述 |
---|---|
CommonUtils | 通用工具类(字符合法性等常见工具类) |
DateUtil | 日期时间帮助类 |
ScreenUtil | 获取屏幕的大小 |
ToastUtils | 吐司相关工具类 |
ClickUtil | 点击事件工具类 |
SystemBarTintManager | 沉浸状态栏使用 |
MyGlideLoadUtil | Glide 加载图片工具类 |
MyBitmapImageViewTarget | Glide 加载图片设置合适 ScaleType 的工具类 |
StatusBarUtils | 状态栏设置工具类 |
GetFolderSizeManager | 获取文件夹大小 |
DataCleanManager | 本应用数据清除管理器 |
五、用到的开源库
-
比较常用的 JSON 解析序列化库
compile 'com.google.code.gson:gson:2.8.2'
-
图片加载库
An image loading and caching library for Android focused on smooth scrolling
compile 'com.github.bumptech.glide:glide:4.1.1'
-
This Library helps users to use Bottom Navigation Bar (A new pattern from google) with ease and allows ton of customizations
compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.2'
-
精仿 iOS 的提示库 SVProgressHUD
compile 'com.bigkoo:svprogresshud:1.0.6'
-
RecyclerView 侧滑菜单,Item拖拽,滑动删除 Item,自动加载更多,和 ViewPager、DrawerLayout 结合使用,和任何下拉刷新框架结合使用。
compile 'com.yanzhenjie:recyclerview-swipe:1.0.4'
-
citypicker 高仿 iOS 滚轮实现 省市区 城市选择三级联动
compile 'liji.library.dev:citypickerview:0.9.0'
-
图片/视频文件选择器
compile 'cn.finalteam.rxgalleryfinal:library:0.0.9'
-
Material Design 风格的自定义 Dialog
compile 'me.drakeet.materialdialog:library:1.3.1'
-
A circular ImageView for Android
compile 'de.hdodenhof:circleimageview:2.1.0'
-
图片浏览缩放控件
compile 'com.bm.photoview:library:1.4.1'
-
广告栏控件
compile 'com.bigkoo:convenientbanner:2.0.5'
-
各种翻页效果
compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar'
-
视频播放器(IJKplayer),HTTPS支持,支持弹幕,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,5.0的过场效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,其他一些小动画效果。
compile 'com.shuyu:GSYVideoPlayer:2.0.8'
-
Cache support for any video player with help of single line
compile 'com.danikula:videocache:2.6.4'
-
RecyclerView 的强大的 BaseAdapter
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.3'
-
网络请求框架
compile 'com.mcxiaoke.volley:library:1.0.19'
-
-
Android 6.0运行时权限管理
compile 'com.yanzhenjie:permission:1.1.0'
-
Bind Android views and callbacks to fields and methods.
-
compile 'com.github.lishide:NoHttpConnecter:v1.0.3'
-
CoverFlow 列表
compile 'com.github.lishide:ImgCoverFlow:v1.0.1'
-
通过MarqueeFactory来提供各种样式的跑马灯View,支持自定义跑马灯ItemView
compile 'compile 'com.gongwen:marqueelibrary:1.0.4'
-
事件总线
compile 'org.greenrobot:eventbus:3.0.0'
-
Album是一个MD风格的开源相册,支持国际化,支持国际化扩展;主要功能模块:选择图片与视频、拍照、录视频、画廊(支持本地和网络)。
compile 'com.yanzhenjie:album:2.0.0'
-
Durban是一个MD风格的图片裁剪工具
compile 'com.yanzhenjie:durban:1.0.1'
Ps:以上开源库版本可能不是最新的,建议使用时查看原作 GitHub 使用最新版。
六、Material Design
widget | 描述 |
---|---|
android.support.v7.widget.Toolbar | Toolbar |
android.support.design.widget.TabLayout | TabLayout |
android.support.design.widget.CoordinatorLayout | CoordinatorLayout |
android.support.design.widget.AppBarLayout | AppBarLayout |
android.support.design.widget.CollapsingToolbarLayout | CollapsingToolbarLayout |
android.support.v4.widget.NestedScrollView | NestedScrollView |
android.support.design.widget.FloatingActionButton | FloatingActionButton:浮动按钮 |
Snackbar.make(view, "", Snackbar.LENGTH_SHORT).show(); | Snackbar:消息的提示和动作反馈 |