Android 学习资源汇总持续更新中.....

Flutter 学习资源汇总持续更新中.....

常用的开源库

15、ZoomImageView 支持缩放图的ImageView类https://github.com/chrisbanes/PhotoView

23、FastBlurUtil 类:我改良过的高斯模糊(毛玻璃)工具,效率非常高,使用很灵活。

  github上的两种实现:
  1、https://github.com/CameraKit/blurkit-android
  2、https://github.com/wasabeef/Blurry

29、com.youth.banner.Banner 类:github 地址://https://github.com/youth5201314/banner 一个很优秀的实现自动滚动banner的库。
另外,里面有WeakHandler这个防止内存泄露的Handler类使用。还有各种的ViewPager Transformer可以使用。 。

30、AutoSizeImageView 类:按照Bitmap的宽高比,保持ImageView宽高比。需要在设置图片源之前调用setWidth(),setHeight()方法设置控件宽度,高度

32、EnglishCharFilter 类:限制中文字符算作两个字,英文字符算作一个字的工具类。用法:

  editText.setFilters(new InputFilter[]{new EnglishCharFilter(MAX_COUNT)});

33、SimpleAnimatorListener 类:一个简单的动画监听类,目的是减少代码量。只监听了动画结束,因为动画结束是最常用的

34、ZoomImageView 类:一个支持手指缩放的ImageView ,支持在ViewPager中使用

36、LongImageView 类:自定义的用于显示长图的控件。基于WebView改造而来,性能卓越。

37、CenterDrawable 类:自定义的可以居中显示一个小图片的类。比如可以用于设置一个图片的未显示图片之前的默认图。
用法:imageView.setImageDrawable(new CenterDrawable(R.drawable.image_loadding_icon))

38、PolygonImageView 类:github 地址:https://github.com/AlbertGrobas/PolygonImageView
一个实现多边形的ImageView 类。四边形,五边形,六边形。另外还有星星,撕纸形状等,还可以自定义形状。

39、RoundedImageView 类:一个可以实现圆形图片、圆角图片的类。github 地址:https://github.com/vinc3m1/RoundedImageView

  app:riv_corner_radius="30dp" 圆角的角度
  app:riv_border_width="2dp" 图片边框的宽度
  app:riv_border_color="#333333" 图片边框的颜色
  app:riv_mutate_background="false" 是否需要显示控件的背景色,默认是显示
  app:riv_oval="true" 是否展示为圆形,如果true ,那么riv_corner_radius 不生效

40、CornerLinearLayout && CornerRelativeLayout 类:自定义的可以显示圆角的View 。在布局中设置圆角用android:tag="20"

41、UpdateDialog 类:一套完善的检查更新的对话框,稍作改动就可以实现复杂的检查更新逻辑

42、AutoScrollRecyclerView 类:无限循环的自动滚动的RecyclerView类,可以实现跑马灯效果,或者各种自动滚动效果。配合TestAutoScrollAdapter使用

43、RippleView 类:涟漪效果,类似雷达扫描

44、ViewPagerLayoutManager 类:RecyclerView的LayoutManager,仿抖音首页效果-横向和竖向滑动的viewPager
ViewPagerLayoutManager.OnViewPagerListener 是滑动监听器

43、SubsamplingScaleImageView 类:一个可以显示长图的控件,和36不同的是,此类是自定义View实现的,推荐使用这个。
github地址:https://github.com/davemorrissey/subsampling-scale-image-cheerly.mybaseproject.view

44、TestFlexBoxActivity 类:一个用谷歌FlexBox实现流式布局的demo类。谷歌官方出品的FlexBox,实现了流式布局。
其中的FlexboxLayoutManager是为RecyclerView定制,可以实现流式布局。
github地址:https://github.com/google/flexbox-layout

45、com.github.zyyoona7:EasyPopup:1.1.1 :一款强大,美观,优雅的通用弹窗XPopup,支持随意位置显示。
github:https://github.com/zyyoona7/EasyPopup

46、支持断点续传的下载:1、https://github.com/AriaLyy/Aria 2、https://github.com/ixuea/AndroidDownloader

47、封装的易用数据库dbflowhttps://github.com/agrosner/DBFlowhttps://joyrun.github.io/2016/08/02/dbflow/

48、
48.1:沉浸式状态栏使用
https://github.com/Zackratos/UltimateBarX
48.2:设置状态栏颜色https://github.com/msdx/status-bar-compat
48.3:判断刘海屏的工具类:NotchUtils.class

  // 如果使用48.2,那么在Android6.0以下会存在页面被状态栏遮挡了的bug,需要加上这段代码:
  // 注:viewLayout为当前Activity的根布局
      viewLayout.post(new Runnable() {
          @Override
          public void run() {
              int[] location = new int[2];
              viewLayout.getLocationOnScreen(location);
              if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
                  int barHeight = BaseUtils.getStatusBarHeight();
                  if (location[1] < barHeight) {
                      RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewLayout.getLayoutParams();
                      params.topMargin = barHeight;
                      viewLayout.setLayoutParams(params);
                  }
              }
          }
      });

49、检测是否为模拟器的工具类:EmulatorUtil.java

50、图片裁剪器https://github.com/Yalantis/uCrop

51、一款轻量级的socket库(模拟器Launcher在使用)https://github.com/xuuhaoo/OkSocket

52、二维码扫描https://github.com/devilsen/CZXing(底层库用的是:https://github.com/nu-book/zxing-cpp)

53、jackpal的Android-Terminal源码https://github.com/jackpal/Android-Terminal-Emulator/

54、BottomDialogFragment:类似抖音评论列表--滑动关闭的dialog(使用的是BottomSheetDialogFragment或者BottomSheetDialog)

55、TestSnapNestViewPagerActivity:使用Android自带的UI实现的带头部的嵌套滚动的ViewPager

56、CommonFragmentViewPagerAdapter:通用的ViewPager的FragmentAdapter

57、TestGridViewWithHeaderActivity:利用NestedScrollView实现RecyclerView带上header

58、TestUserInfoViewModel:LiveData和ViewModel的使用示例

59、androidx.lifecycle.LifecycleObserver:可以让随便一个类具有Activity的生命周期

60、OnSingleClickListener:防止重复多次点击的类

60、js和android WebView通信https://github.com/lzyzsd/JsBridge

61、集成各大push推送平台的库https://github.com/xuexiangjys/XPush/wiki

62、手机和电脑屏幕共享的库,里面的TouchUtils可以实现转换触摸手势https://github.com/android-notes/androidScreenShare

63、滑动表格库:ScrollablePanelhttps://github.com/Kelin-Hong/ScrollablePanel

64、开源的视频播放器https://github.com/CarGuo/GSYVideoPlayer

65、腾讯的多渠道打包https://github.com/Tencent/VasDolly

66、直接获取TextView的LineCount的工具类,需要传入width:TextViewLinesUtils.getTextViewLines(TextView textView, int textViewWidth);

67、ConsecutiveScrollerLayout是Android下支持多个滑动布局:(RecyclerView、WebView、ScrollView等)和普通控件(TextView、ImageView、LinearLayou、自定义View等)持续连贯滑动的容器,它使所有的子View像一个整体一样连续顺畅滑动。并且支持布局吸顶功能:https://github.com/donkingliang/ConsecutiveScroller

68、一款时间选择器https://github.com/loperSeven/DateTimePicker

69、GroupedRecyclerViewAdapter可以很方便的实现RecyclerView的分组显示,并且每个组都可以包含组头、组尾和子项;可以方便实现多种Type类型的列表,可以实现如QQ联系人的列表一样的列表展开收起功能,还可以实现头部悬浮吸顶功能等https://github.com/donkingliang/GroupedRecyclerViewAdapter 具体见DEMO:TestConsecutiveNestScrollActivity

70、弹性动画实现

  70.1、谷歌的弹性动画:implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0
        示例:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0330/7757.html
  70.2、facebook的rebound:https://github.com/facebookarchive/rebound

view的万能动画:AndroidViewAnimations

71、输入法键盘切换平滑过渡https://github.com/YummyLau/PanelSwitchHelper

72、FlowLayout.java:流式布局,来自腾讯团队的QMUIFloatLayout。 https://qmuiteam.com/android/documents/

73、VerticalTextView.java:来自腾讯团队的竖向排版的TextView

74、实现高斯模糊的库https://github.com/woshidasusu/base-module/tree/master/blur

引入:implementation 'com.dasu.image:blur:0.0.6'
------------------------------------------------
用法:
//1、使用默认配置,最短调用链
Bitmap bitmap = DBlur.source(MainActivity.this).radius(5).sampling(8).build().doBlurSync();

//2、同步模糊,将imageView控制的视图进行模糊,完成后自动显示到 imageView1 控件上,以淡入动画方式
DBlur.source(imageView).intoTarget(imageView1).animAlpha().radius(5).sampling(8).build().doBlurSync();

//3、异步模糊,将drawable资源文件中的图片以 NATIVE 方式进行模糊,注册回调,完成时手动显示到 imageView1 控件上
DBlur.source(this, R.drawable.background).mode(BlurConfig.MODE_NATIVE).radius(5).sampling(8).build()
      .doBlur(new OnBlurListener() {
            @Override
            public void onBlurSuccess(Bitmap bitmap) {
                imageView1.setImageBitmap(bitmap);
            }
banner
            @Override
            public void onBlurFailed() {
                //do something
            }}); 

75、lottie动画https://github.com/airbnb/lottie-web

优秀开源项目

其他开源库

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容