MyAndroidFrameWork
安卓常用组件&框架, 不用每次都搭架子
Install / Use
/learn @actor20170211030627/MyAndroidFrameWorkREADME
MyAndroidFrameWork
<a href="https://github.com/actor20170211030627/MyAndroidFrameWork" target="_blank">Github</a>, <a href="https://gitee.com/actor20170211030627/MyAndroidFrameWork" target="_blank">Gitee码云</a>
注意: 这是 <font color='red' size='6'><b>Androidx</b></font> 版, 非Androidx版本在 <a style="font-size:23px" href="./README-1.4.1.md"><s>这儿 </s></a> (非Androidx版本不再维护) <br/>
Androidx版本能很好向下兼容, 包括jar包依赖也能自动转换, 所以建议转换成Androidx.
安卓常用组件&框架(懒得每次都搭架子...)
1.集成框架包括如下列表, 具体见 <a href="library/build.gradle" target="_blank">build.gradle</a>:
<pre> <ol><li>api "com.google.android.material:material:1.5.0"</li> <li>api "androidx.appcompat:appcompat:1.4.1"</li> <li>api "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"</li> <li>api "androidx.constraintlayout:constraintlayout:2.1.4"</li> <li>//https://github.com/google/gson //不混淆解析类, 示例: -keep class com.package.xxx.info.** { *; } api 'com.google.code.gson:gson:2.10.1' </li> <li>//https://github.com/bumptech/glide api 'com.github.bumptech.glide:glide:4.12.0' </li> <li>//https://github.com/Blankj/AndroidUtilCode 许多工具 api 'com.blankj:utilcodex:1.31.1' </li> <li>// 腾讯 MMKV:https://github.com/Tencent/MMKV (EasyHttp缓存需要) api 'com.tencent:mmkv-static:1.3.2' </li> <li>//https://github.com/square/okhttp api "com.squareup.okhttp3:okhttp:4.9.3" </li> <li>//https://github.com/getActivity/EasyHttp 轮子哥网络请求框架 api 'com.github.getActivity:EasyHttp:13.0' </li> <li>https://github.com/getActivity/ShapeView 轮子哥Shape 框架 api 'com.github.getActivity:ShapeView:9.6' </li> <li>//https://github.com/getActivity/XXPermissions 轮子哥权限 api 'com.github.getActivity:XXPermissions:21.3' </li> <li>//https://github.com/getActivity/Toaster 轮子哥吐司 api 'com.github.getActivity:Toaster:12.8' </li> <li>//https://github.com/CymChad/BaseRecyclerViewAdapterHelper api 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.7' </li> <li>//https://github.com/li-xiaojun/XPopup 各种Dialog & Popup (compileSdkVersion 29) api 'com.github.li-xiaojun:XPopup:2.10.0' </li></ol> </pre>2.一些控件和工具类等
2.1.RecyclerView的Adapter
<pre> <a href="library/src/main/java/com/actor/myandroidframework/adapter_recyclerview/WheelViewAdapter.java" target="_blank">WheelViewAdapter</a> (WheelView滚动效果的Adapter) </pre>2.2.ViewPager的Adapter
<pre> <a href="library/src/main/java/com/actor/myandroidframework/adapter_viewpager/BaseFragmentPagerAdapter.java" target="_blank">BaseFragmentPagerAdapter</a> (管理Fragment) <a href="library/src/main/java/com/actor/myandroidframework/adapter_viewpager/BaseFragmentStatePagerAdapter.java" target="_blank">BaseFragmentStatePagerAdapter</a> (管理Fragment) <a href="library/src/main/java/com/actor/myandroidframework/adapter_viewpager/BasePagerAdapter.java" target="_blank">BasePagerAdapter</a> </pre>2.3.Dialog(继承对应Dialog并自定义界面, 不用再关注style等. )
<pre> <a href="library/src/main/java/com/actor/myandroidframework/dialog/BaseAlertDialog.java" target="_blank">BaseAlertDialog</a> (AlertDialog简单说明) <a href="library/src/main/java/com/actor/myandroidframework/dialog/BaseBottomSheetDialog.java" target="_blank">BaseBottomSheetDialog</a> (从底部弹出并停留底部, 可二次滑动) <a href="library/src/main/java/com/actor/myandroidframework/dialog/BaseDialog.java" target="_blank">BaseDialog</a> (Dialog简单封装) <a href="library/src/main/java/com/actor/myandroidframework/dialog/LoadingDialog.java" target="_blank">LoadingDialog</a> (加载Dialog, 耗时操作时可显示这个Dialog) <a href="library/src/main/java/com/actor/myandroidframework/dialog/ViewBindingDialog.java" target="_blank">ViewBindingDialog</a> (可以使用viewBinding) <a href="library/src/main/java/com/actor/myandroidframework/fragment/BaseDialogFragment.java" target="_blank">BaseDialogFragment</a> (dialog样式的Fragment) <a href="library/src/main/java/com/actor/myandroidframework/popupwindow/BasePopupWindow.java" target="_blank">BasePopupWindow</a> (PopupWindow简单整理, 可一用) </pre>2.4.Utils工具类
<pre> <a href="library/src/main/java/com/actor/myandroidframework/utils/audio/MediaPlayerUtils.java" target="_blank">MediaPlayerUtils</a> (播放音频) <a href="library/src/main/java/com/actor/myandroidframework/utils/audio/MediaRecorderUtils.java" target="_blank">MediaRecorderUtils</a> (录音) <a href="library/src/main/java/com/actor/myandroidframework/utils/easyhttp/EasyHttpConfigUtils.java" target="_blank">EasyHttpConfigUtils</a> (EasyHttp基本配置 & 封装的WebSocket) <a href="library/src/main/java/com/actor/myandroidframework/utils/glide/GlideUtils.java" target="_blank">GlideUtils</a> (Glide加载图片常用方法) <a href="library/src/main/java/com/actor/myandroidframework/utils/gson/IntJsonDeserializer.java" target="_blank">IntJsonDeserializer</a> (解决Gson""转换成int报错) <a href="library/src/main/java/com/actor/myandroidframework/utils/okhttputils/OkHttpConfigUtils.java" target="_blank">OkHttpConfigUtils</a> (OkHttp基本配置) <a href="library/src/main/java/com/actor/myandroidframework/utils/sharedelement/SharedElementUtils.java" target="_blank">SharedElementUtils</a> (元素共享跳转页面) <a href="library/src/main/java/com/actor/myandroidframework/utils/video/VideoProcessorUtils.java" target="_blank">VideoProcessorUtils</a> (视频压缩) <a href="library/src/main/java/com/actor/myandroidframework/utils/AssetsUtils.java" target="_blank">AssetsUtils</a> (Assets读取) <a href="library/src/main/java/com/actor/myandroidframework/utils/Base64Utils.java" target="_blank">Base64Utils</a> (Base64编解码) <a href="library/src/main/java/com/actor/myandroidframework/utils/BaseCountDownTimer.java" target="_blank">BaseCountDownTimer</a> (倒计时, 可暂停, 继续, 获取计时时间) <a href="library/src/main/java/com/actor/myandroidframework/utils/BRVUtils.java" target="_blank">BRVUtils</a> (BaseRecyclerView框架辅助) <a href="library/src/main/java/com/actor/myandroidframework/utils/ClickUtils2.java" target="_blank">ClickUtils2</a> (防止2次点击) <a href="library/src/main/java/com/actor/myandroidframework/utils/FontUtils.java" target="_blank">FontUtils</a> (字体) <a href="library/src/main/java/com/actor/myandroidframework/utils/LogUtils.java" target="_blank">LogUtils</a> (Log简单打印) <a href="library/src/main/java/com/actor/myandroidframework/utils/MMKVUtils.java" target="_blank">MMKVUtils</a> (数据缓存) <a href="library/src/main/java/com/actor/myandroidframework/utils/NotificationUtils2.java" target="_blank">NotificationUtils2</a> (通知栏) <a href="library/src/main/java/com/actor/myandroidframework/utils/SPUtils.java" target="_blank"><s>SPUtils</s></a> (<s>SP工具</s>, 建议使用<code>MMKVUtils</code>) <a href="library/src/main/java/com/actor/myandroidframework/utils/TextUtils2.java" target="_blank">TextUtils2</a> (获取Text, 判空, getStringFormat, ...) <a href="library/src/main/java/com/actor/myandroidframework/utils/ThreadUtils.java" target="_blank">ThreadUtils</a> (线程判断/切换) <a href="library/src/main/java/com/actor/myandroidframework/utils/ToasterUtils.java" target="_blank">ToasterUtils</a> (吐司工具类-轮子哥) </pre>2.5.Widget小控件
<pre> <a href="library/src/main/java/com/actor/myandroidframework/widget/viewpager/ScrollableViewPager.java" target="_blank">ScrollableViewPager</a> (ViewPager是否能左右滑动) <a href="library/src/main/java/com/actor/myandroidframework/widget/webview/BaseWebView.java" target="_blank">BaseWebView</a> (WebView简单封装) <a href="library/src/main/java/com/actor/myandroidframework/widget/AnimationDrawableImageView.java" target="_blank">AnimationDrawableImageView</a> (播放/停止动画的ImageView) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseItemDecoration.java" target="_blank">BaseItemDecoration</a> (RecyclerView的Item间隔) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseRadioGroup.java" target="_blank">BaseRadioGroup</a> (RadioGroup简单封装) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseRatingBar.java" target="_blank">BaseRatingBar</a> (RatingBar星星选择) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseSlidingDrawer.java" target="_blank">BaseSlidingDrawer</a> (抽屉, 从底部或左侧拉出/收回) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseSpinner.java" target="_blank">BaseSpinner</a> (Spinner增加一些属性) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseTabLayout.java" target="_blank">BaseTabLayout</a> (更简单使用TabLayout) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseTextSwitcher.java" target="_blank">BaseTextSwitcher</a> (TextView切换) <a href="library/src/main/java/com/actor/myandroidframework/widget/BaseViewSwitcher.java" target="_blank">BaseViewSwitcher</a> (View切换) <a href="library/src/main/java/com/actor/myandroidframework/widget/DrawableTextView.java" target="_blank">DrawableTextView</a> (限定Drawable宽高, 播放/停止动画 的TextView) <a href="library/src/main/java/com/actor/myandroidframework/widget/LineView.java" target="_blank">LineView</a> (实线, 虚线, 渐变, 角度) <a href="library/src/main/java/com/actor/myandroidframework/widget/MarqueeTextView.java" target="_blank">MarqueeTextView</a> (跑马灯) <a href="library/src/main/java/com/actor/myandroidframework/widget/RatioLayout.java" target="_blank">RatioLayout</a> (百分比布局, 宽高百分比) <a href="library/src/main/java/com/actor/myandroidframework/widget/RoundCardView.java" target="_blank">RoundCardView</a> (圆角CardView) <a href="library/src/main/java/com/actor/myandroidframework/widget/StateListImageView.java" target="_blank">StateListImageView</a> (设置各种状态时的图片) <a href="library/src/main/java/com/actor/myandroidframework/widget/StatusBarHeightView.java" target="_blank">StatusBarHeightView</a> (状态栏占高) <a href="library/src/main/java/com/actor/myandroidframework/widget/SwipeRefreshLayoutCompatViewPager.java" target="_blank">SwipeRefreshLayoutCompatViewPager</a> (SwipeRefreshLayout适配ViewPager里的下拉) <a href="library/src/main/java/com/actor/myandroidframework/widget/VerticalScrollableTextView.java" target="_blank">VerticalScrollableTextView</a> (可垂直滑动的TextView) </pre>3.Screenshot
<img src="captures/BaseTextSwitcher_And_BaseViewSwitcher.gif" width=33%></img> <img src="captures/BaseBottomSheetDialogFragment.gif" width=33%></img> <img src="captures/BaseRatingBar.gif" width=33%></img> <img s
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
