https://github.com/pikachu0621/myutils
自用 - Android utils 工具类
https://github.com/pikachu0621/myutils
android java jitpack-android
Last synced: 4 months ago
JSON representation
自用 - Android utils 工具类
- Host: GitHub
- URL: https://github.com/pikachu0621/myutils
- Owner: pikachu0621
- Created: 2022-02-23T06:48:10.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-24T02:15:19.000Z (over 4 years ago)
- Last Synced: 2025-04-15T17:15:49.098Z (about 1 year ago)
- Topics: android, java, jitpack-android
- Language: Java
- Homepage:
- Size: 265 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
自用Android工具类
=====
[](https://jitpack.io/#pikachu0621/MyUtils)
[Github地址](https://github.com/pikachu0621)
适配器
------
> 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导入
```groovy
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
2. app build.gradle导入
```groovy
dependencies {
implementation 'com.github.pikachu0621:MyUtils:0.0.4'
}
```
3. 在app build.gradle 开启 viewBinding
```groovy
android {
...
viewBinding {
enabled = true
}
}
```
QuickAdapter (RecyclerView单布局)
---
```java
public class TestQuickAdapter extends QuickAdapter {
public TestQuickAdapter(List data) {
super(data);
}
@Override
public void onQuickBindView(ActivityMainBinding binding, String itemData, int position, List data) {
}
}
```
BaseAdapter (RecyclerView多布局)
---
```java
public class Test2QuickAdapter extends BaseAdapter {
public Test2QuickAdapter(List data) {
super(data);
}
@Override
public Class extends ViewBinding> onCreateView(ViewGroup parent, int viewType) {
// 根据 viewType 返回布局 Binding
if (viewType == 1) {
return ActivityMainBinding.class;
} else if (viewType == 10) {
return ActivityMainBinding.class;
}
return ActivityMainBinding.class;
}
@Override
public void onBindView(ViewBinding binding, String itemData, int position, int itemViewType, List data) {
}
@Override
public int getItemViewType(int position, String itemData) {
//根据position 返回 viewType
return 0;
}
}
```
Activity用法
---
```java
public class MainActivity extends BaseActivity {
@Override
protected void initActivity(Bundle savedInstanceState) {
// 业务逻辑
// binding.getRoot().setVisibility(View.VISIBLE);
}
}
```
Fragment用法(支持懒加载)
----
```java
public class MainFragment extends BaseFragment {
@Override
protected void onInitView(Bundle savedInstanceState, FragmentMainBinding binding, FragmentActivity activity) {
// 业务逻辑
// binding.getRoot().setVisibility(View.VISIBLE);
}
@Override
protected void lazyLoad() {
// 懒加载 第一次对用户可见时调用
// binding.getRoot().setVisibility(View.VISIBLE);
}
}
```
对话框
---
```java
public class TestDialog {
private final Context context;
public TestDialog(Context context) {
this.context = context;
}
/**
* 普通对话框
* 背景默认透明
*/
public void testBaseDialog(){
BaseDialog dialog = new BaseDialog(context) {
@Override
protected void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}
/**
* 底部弹出对话框
* 背景默认透明
*/
public void testBaseBottomSheetDialog(){
BaseBottomSheetDialog dialog = new BaseBottomSheetDialog(context) {
@Override
protected void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}
/**
* 控件悬浮对话框
* 背景默认透明
*/
public void testBasePopupWindow(View view){
BasePopupWindow dialog = new BasePopupWindow(context) {
@Override
public void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};
dialog.showAsTop(view);
}
}
```
持续添加中
---
混淆
-------
```pro
-keep class com.pikachu.databinding.* {*;}
```