Skip to content

Repository files navigation

自用Android工具类

第版本4
Github地址

适配器

RecyclerView 适配器
BaseAdapter
QuickAdapter

ViewPager 适配器
PagerAdapter
PagerAdapter2

基类

Activity
BaseActivity

Fragment
BaseFragment

对话框
BaseDialog
BaseBottomSheetDialog
BasePopupWindow

工具类

Activity堆栈管理工具类 AppManagerUtils

Assets文件管理工具类 AssetsUtils

Base64工具类 Base64Utils

bitmap图片工具类 BitmapUtils

设备工具信息工具 EquipmentUtils

文件工具类 FileUtils

glide图片加载工具类 GlideUtils

系统http工具类 LoadUrlUtils

log日志工具类 LogsUtils

网络检测工具类 NetUtils

SharedPreferences本地xml储存工具类 SharedPreferencesUtils

时间工具类 TimeUtils

Toast工具类 ToastUtils

Ui相关工具类 UiUtils

使用

导入

  1. 项目build.gradle导入
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
  1. app build.gradle导入
dependencies {
implementation 'com.github.pikachu0621:MyUtils:0.0.4'
}
  1. 在app build.gradle 开启 viewBinding
android {
...
viewBinding {
enabled =true
}
}

QuickAdapter (RecyclerView单布局)

publicclassTestQuickAdapterextendsQuickAdapter<ActivityMainBinding, String> {
publicTestQuickAdapter(List<String> data) {
super(data);
}
@OverridepublicvoidonQuickBindView(ActivityMainBindingbinding, StringitemData, intposition, List<String> data) {
}
}

BaseAdapter (RecyclerView多布局)

publicclassTest2QuickAdapterextendsBaseAdapter<String> {
publicTest2QuickAdapter(List<String> data) {
super(data);
}
@OverridepublicClass<? extendsViewBinding> onCreateView(ViewGroupparent, intviewType) {
// 根据 viewType 返回布局 Bindingif (viewType == 1) {
returnActivityMainBinding.class;
} elseif (viewType == 10) {
returnActivityMainBinding.class;
}
returnActivityMainBinding.class;
}
@OverridepublicvoidonBindView(ViewBindingbinding, StringitemData, intposition, intitemViewType, List<String> data) {
}
@OverridepublicintgetItemViewType(intposition, StringitemData) {
//根据position 返回 viewTypereturn0;
}
}

Activity用法

publicclassMainActivityextendsBaseActivity<ActivityMainBinding> {
@OverrideprotectedvoidinitActivity(BundlesavedInstanceState) {
// 业务逻辑// binding.getRoot().setVisibility(View.VISIBLE);
}
}

Fragment用法(支持懒加载)

publicclassMainFragmentextendsBaseFragment<FragmentMainBinding> {
@OverrideprotectedvoidonInitView(BundlesavedInstanceState, FragmentMainBindingbinding, FragmentActivityactivity) {
// 业务逻辑// binding.getRoot().setVisibility(View.VISIBLE);
}
@OverrideprotectedvoidlazyLoad() {
// 懒加载 第一次对用户可见时调用// binding.getRoot().setVisibility(View.VISIBLE);
}
}

对话框

publicclassTestDialog {
privatefinalContextcontext;
publicTestDialog(Contextcontext) {
this.context = context;
}
/** * 普通对话框 * 背景默认透明 */publicvoidtestBaseDialog(){
BaseDialog<ActivityMainBinding> dialog = newBaseDialog<ActivityMainBinding>(context) {
@OverrideprotectedvoidonViewCreate(ActivityMainBindingbinding) {
// 业务逻辑// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}
/** * 底部弹出对话框 * 背景默认透明 */publicvoidtestBaseBottomSheetDialog(){
BaseBottomSheetDialog<ActivityMainBinding> dialog = newBaseBottomSheetDialog<ActivityMainBinding>(context) {
@OverrideprotectedvoidonViewCreate(ActivityMainBindingbinding) {
// 业务逻辑// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}
/** * 控件悬浮对话框 * 背景默认透明 */publicvoidtestBasePopupWindow(Viewview){
BasePopupWindow<ActivityMainBinding> dialog = newBasePopupWindow<ActivityMainBinding>(context) {
@OverridepublicvoidonViewCreate(ActivityMainBindingbinding) {
// 业务逻辑// binding.getRoot().setOnClickListener();
}
};
dialog.showAsTop(view);
}
}

持续添加中

混淆

-keep class com.pikachu.databinding.* {*;}

About

自用 - Android utils 工具类

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages