This commit is contained in:
2022-09-22 13:02:53 +08:00
parent 80c5609bb7
commit d2bb4e4375
19 changed files with 176 additions and 75 deletions

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
@@ -71,16 +72,17 @@ public class ContainerRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolde
}
seekBar.setVisibility(View.VISIBLE);
if (seekY == 0) {
seekY = seekBar.getY();
seekBar.setY(seekY - DpUtil.dp2px(20));
seekY = seekBar.getY() - DpUtil.dp2px(20);
}
seekBar.setY(seekY);
}
public void hideSeekBar(){
if(seekBar.getVisibility()==View.INVISIBLE){
public void hideSeekBar() {
if (seekBar.getVisibility() == View.GONE) {
return;
}
seekBar.setOnProgressChangeListener(null);
seekBar.setVisibility(View.INVISIBLE);
seekBar.setVisibility(View.GONE);
}
@@ -105,6 +107,7 @@ public class ContainerRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolde
animojiDataFactory = new AnimojiDataFactory(0, 0);
makeupDataFactory = new MakeupDataFactory(0);
bodyBeautyDataFactory = new BodyBeautyDataFactory();
bodyBeautyDataFactory.bindCurrentRenderer();
}
public void setList(ArrayList<? extends BaseBean> list) {
@@ -221,17 +224,21 @@ public class ContainerRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolde
}
public void save(String key, String data) {
FaceSPUtils.getInstance().saveString(key,data);
FaceSPUtils.getInstance().saveString(key, data);
}
public String getString(String key){
public String getString(String key) {
return FaceSPUtils.getInstance().getString(key);
}
public void del(String key){
public void del(String key) {
FaceSPUtils.getInstance().del(key);
}
public void reset(){
if(vh!=null){
vh.reset(list);
}
public void reset() {
if (vh != null) {
vh.reset(list);
}
}
}

View File

@@ -23,7 +23,7 @@ public class AnimojiViewHolder extends BaseViewHolder {
icon = itemView.findViewById(R.id.iv_control);
itemView.setOnClickListener(v -> {
adapter.getAnimojiDataFactory().onAnimojiSelected((AnimojiBean) itemView.getTag());
setSelectPosition(getAdapterPosition());
setSelectPosition(getLayoutPosition());
saveData();
});
}
@@ -44,21 +44,26 @@ public class AnimojiViewHolder extends BaseViewHolder {
@Override
public boolean loadData() {
String data = adapter.getString(getName(this));
if (data != null) {
icon.setSelected(getAdapterPosition() == Integer.parseInt(data));
return true;
if (data == null) {
return false;
}
if (!data.equals(String.valueOf(getLayoutPosition()))) {
return false;
}
icon.setSelected(true);
adapter.getAnimojiDataFactory().onAnimojiSelected((AnimojiBean) itemView.getTag());
return false;
}
@Override
public void saveData() {
adapter.save(getName(this), String.valueOf(getAdapterPosition()));
adapter.save(getName(this), String.valueOf(getLayoutPosition()));
}
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
adapter.getAnimojiDataFactory().onAnimojiSelected((AnimojiBean) list.get(0));
adapter.setSelectPosition(0);
}

View File

@@ -69,7 +69,8 @@ public class BigHeadViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
itemView.callOnClick();
adapter.getPropDataFactory().setPropType(FunctionEnum.BIG_HEAD);
adapter.getPropDataFactory().onItemSelected((PropBean) list.get(0));
adapter.setSelectPosition(0);
}
}

View File

@@ -15,6 +15,9 @@ import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import java.util.List;
/**
* 美妆 - 自定义
*/
public class MakeupCustomItemViewHolder extends BaseViewHolder {
private ImageView icon;
private TextView title;

View File

@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.entity.MakeupCombinationBean;
import com.yunbao.faceunity.utils.FaceSPUtils;
import java.util.List;
@@ -72,6 +73,10 @@ public class MakeupViewHolder extends BaseViewHolder {
@Override
public void reset(List<? extends BaseBean>list) {
adapter.del(getName(this));
FaceSPUtils.getInstance().delStart("MakeupCustomItemViewHolder");
adapter.getMakeupDataFactory().onMakeupCombinationSelected((MakeupCombinationBean) list.get(0));
adapter.getMakeupDataFactory().clearAll();
adapter.setSelectPosition(0);
}
}

View File

@@ -68,7 +68,8 @@ public class StickerViewHolder extends BaseViewHolder{
@Override
public void reset(List<? extends BaseBean> list) {
adapter.del(getName(this));
itemView.callOnClick();
adapter.getPropDataFactory().setPropType(FunctionEnum.STICKER);
adapter.getPropDataFactory().onItemSelected((PropBean) list.get(0));
adapter.setSelectPosition(0);
}
}