SkillAgentSearch skills...

MyUtils

自用 - Android utils 工具类

Install / Use

/learn @pikachu0621/MyUtils
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

自用Android工具类

第版本4 <br> Github地址

适配器

RecyclerView 适配器 <br> BaseAdapter <br> QuickAdapter <br>

ViewPager 适配器 <br> PagerAdapter <br> PagerAdapter2 <br>

基类

Activity <br> BaseActivity <br>

Fragment <br> BaseFragment <br>

对话框 <br> BaseDialog <br> BaseBottomSheetDialog <br> BasePopupWindow <br>

工具类

Activity堆栈管理工具类 AppManagerUtils <br>

Assets文件管理工具类 AssetsUtils <br>

Base64工具类 Base64Utils <br>

bitmap图片工具类 BitmapUtils <br>

设备工具信息工具 EquipmentUtils <br>

文件工具类 FileUtils <br>

glide图片加载工具类 GlideUtils <br>

系统http工具类 LoadUrlUtils <br>

log日志工具类 LogsUtils <br>

网络检测工具类 NetUtils <br>

SharedPreferences本地xml储存工具类 SharedPreferencesUtils <br>

时间工具类 TimeUtils <br>

Toast工具类 ToastUtils <br>

Ui相关工具类 UiUtils <br>

使用

导入

  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单布局)

public class TestQuickAdapter extends QuickAdapter<ActivityMainBinding, String> {

    public TestQuickAdapter(List<String> data) {
        super(data);
    }

    @Override
    public void onQuickBindView(ActivityMainBinding binding, String itemData, int position, List<String> data) {

    }
}

BaseAdapter (RecyclerView多布局)

public class Test2QuickAdapter extends BaseAdapter<String> {

    public Test2QuickAdapter(List<String> 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<String> data) {

    }

    @Override
    public int getItemViewType(int position, String itemData) {
        //根据position 返回 viewType
        return 0;
    }
}

Activity用法

public class MainActivity extends BaseActivity<ActivityMainBinding> {
    @Override
    protected void initActivity(Bundle savedInstanceState) {
        // 业务逻辑
        // binding.getRoot().setVisibility(View.VISIBLE);
    }
}

Fragment用法(支持懒加载)

public class MainFragment extends BaseFragment<FragmentMainBinding> {

    @Override
    protected void onInitView(Bundle savedInstanceState, FragmentMainBinding binding, FragmentActivity activity) {
        // 业务逻辑
        // binding.getRoot().setVisibility(View.VISIBLE);
    }

    @Override
    protected void lazyLoad() {
        // 懒加载 第一次对用户可见时调用
        // binding.getRoot().setVisibility(View.VISIBLE);
    }
}

对话框

public class TestDialog {
    
    private final Context context;
    public TestDialog(Context context) {
        this.context = context;
    }
    
    /**
     * 普通对话框
     * 背景默认透明
     */
    public void testBaseDialog(){
        BaseDialog<ActivityMainBinding> dialog = new BaseDialog<ActivityMainBinding>(context) {
            @Override
            protected void onViewCreate(ActivityMainBinding binding) {
                // 业务逻辑
                // binding.getRoot().setOnClickListener();
            }
        };
        dialog.show();
    }


    /**
     * 底部弹出对话框
     * 背景默认透明
     */
    public void testBaseBottomSheetDialog(){
        BaseBottomSheetDialog<ActivityMainBinding> dialog = new BaseBottomSheetDialog<ActivityMainBinding>(context) {
            @Override
            protected void onViewCreate(ActivityMainBinding binding) {
                // 业务逻辑
                // binding.getRoot().setOnClickListener();
            }
        };
        dialog.show();
    }


    /**
     * 控件悬浮对话框
     * 背景默认透明
     */
    public void testBasePopupWindow(View view){
        BasePopupWindow<ActivityMainBinding> dialog = new BasePopupWindow<ActivityMainBinding>(context) {
            @Override
            public void onViewCreate(ActivityMainBinding binding) {
                // 业务逻辑
                // binding.getRoot().setOnClickListener();
            }
        };

        dialog.showAsTop(view);
    }
}

持续添加中

混淆

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

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated1y ago
Forks2

Languages

Java

Security Score

60/100

Audited on Sep 16, 2024

No findings