version:1.2

fix:优化卡顿
update:基本对接完成,增加指示器放大
This commit is contained in:
2023-02-23 11:26:22 +08:00
parent cd4ba088fc
commit 2772685f0e
182 changed files with 13448 additions and 418 deletions

View File

@@ -0,0 +1,100 @@
package com.uiui.zyos.base;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
/**
* Author: wangjie
* Email: tiantian.china.2@gmail.com
* Date: 1/23/15.
*/
public abstract class BaseLazyFragment extends Fragment {
private static final String TAG = BaseLazyFragment.class.getSimpleName();
private boolean isPrepared;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initPrepare();
}
/**
* 第一次onResume中的调用onUserVisible避免操作与onFirstUserVisible操作重复
*/
private boolean isFirstResume = true;
@Override
public void onResume() {
super.onResume();
if (isFirstResume) {
isFirstResume = false;
return;
}
if (getUserVisibleHint()) {
onUserVisible();
}
}
@Override
public void onPause() {
super.onPause();
if (getUserVisibleHint()) {
onUserInvisible();
}
}
private boolean isFirstVisible = true;
private boolean isFirstInvisible = true;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
if (isFirstVisible) {
isFirstVisible = false;
initPrepare();
} else {
onUserVisible();
}
} else {
if (isFirstInvisible) {
isFirstInvisible = false;
onFirstUserInvisible();
} else {
onUserInvisible();
}
}
}
public synchronized void initPrepare() {
if (isPrepared) {
onFirstUserVisible();
} else {
isPrepared = true;
}
}
/**
* 第一次fragment可见进行初始化工作
*/
public abstract void onFirstUserVisible();
/**
* fragment可见切换回来或者onResume
*/
public abstract void onUserVisible();
/**
* 第一次fragment不可见不建议在此处理事件
*/
public abstract void onFirstUserInvisible();
/**
* fragment不可见切换掉或者onPause
*/
public abstract void onUserInvisible();
}