update ui

This commit is contained in:
2022-09-20 22:21:38 +08:00
parent 02206dc289
commit bdaa51dbb6
31 changed files with 166 additions and 26 deletions

View File

@@ -96,7 +96,7 @@ public class ContainerRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolde
case FaceParam.FACE_FINE_STICKER_MIDDLE:
case FaceParam.FACE_FINE_STICKER_HIGH:
case FaceParam.FACE_FINE_STICKER_GAME:
vh = new FineStickerViewHolder(from.inflate(R.layout.list_item_face_config_big_head, parent, false));
vh = new FineStickerViewHolder(from.inflate(R.layout.list_item_face_config_fine_sticker, parent, false));
break;
default:
vh = new BeautySkinViewHolder(LayoutInflater.from(mContext).inflate(R.layout.list_item_face_config, parent, false));

View File

@@ -8,6 +8,9 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 动画滤镜
*/
public class AnimViewHolder extends BaseViewHolder{
ImageView imageView;
public AnimViewHolder(@NonNull View itemView) {

View File

@@ -8,6 +8,9 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* Animoji
*/
public class AnimojiViewHolder extends BaseViewHolder{
ImageView imageView;
public AnimojiViewHolder(@NonNull View itemView) {

View File

@@ -12,6 +12,9 @@ import com.yunbao.faceunity.entity.ModelAttributeData;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.SeekBarUtils;
/**
* 美体
*/
public class BeautyBodyViewHolder extends BaseViewHolder{
private ImageView icon;
private TextView title;

View File

@@ -7,16 +7,23 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.data.FaceBeautyDataFactory;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.entity.FaceBeautyBean;
import com.yunbao.faceunity.entity.ModelAttributeData;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.SeekBarUtils;
/**
* 美型
*/
public class BeautyShapeViewHolder extends BaseViewHolder{
private ImageView icon;
private TextView title;
private TextView value;
private DiscreteSeekBar seekBar;
private FaceBeautyDataFactory dataFactory;
public BeautyShapeViewHolder(@NonNull View itemView) {
super(itemView);
@@ -24,10 +31,32 @@ public class BeautyShapeViewHolder extends BaseViewHolder{
title = itemView.findViewById(R.id.item_title);
value = itemView.findViewById(R.id.item_value);
seekBar = itemView.findViewById(R.id.item_seekBar);
seekBar.setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener(){
@Override
public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {
super.onProgressChanged(seekBar, value, fromUser);
FaceBeautyBean bean = (FaceBeautyBean) itemView.getTag();
double toValue = SeekBarUtils.Companion.seekToValue(bean.getModelAttributeData().getMaxRange(), value, seekBar.getMin());
BeautyShapeViewHolder.this.value.setText(String.format("%.1f",toValue));
dataFactory.updateParamIntensity(bean.getKey(),toValue);
}
});
dataFactory=new FaceBeautyDataFactory(new FaceBeautyDataFactory.FaceBeautyListener() {
@Override
public void onFilterSelected(int res) {
}
@Override
public void onFaceBeautyEnable(boolean enable) {
}
});
}
@Override
public void setData(BaseBean data) {
itemView.setTag(data);
icon.setImageResource(data.getImageRes());
title.setText(data.getDesRes());
ModelAttributeData attributeData = data.getModelAttributeData();

View File

@@ -7,16 +7,22 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.data.FaceBeautyDataFactory;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.entity.FaceBeautyBean;
import com.yunbao.faceunity.entity.ModelAttributeData;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.SeekBarUtils;
/**
* 美肤
*/
public class BeautySkinViewHolder extends BaseViewHolder{
private ImageView icon;
private TextView title;
private TextView value;
private DiscreteSeekBar seekBar;
private FaceBeautyDataFactory dataFactory;
public BeautySkinViewHolder(@NonNull View itemView) {
super(itemView);
@@ -24,10 +30,32 @@ public class BeautySkinViewHolder extends BaseViewHolder{
title = itemView.findViewById(R.id.item_title);
value = itemView.findViewById(R.id.item_value);
seekBar = itemView.findViewById(R.id.item_seekBar);
seekBar.setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener(){
@Override
public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {
super.onProgressChanged(seekBar, value, fromUser);
FaceBeautyBean bean = (FaceBeautyBean) itemView.getTag();
double toValue = SeekBarUtils.Companion.seekToValue(bean.getModelAttributeData().getMaxRange(), value, seekBar.getMin());
BeautySkinViewHolder.this.value.setText(String.format("%.1f",toValue));
dataFactory.updateParamIntensity(bean.getKey(),toValue);
}
});
dataFactory=new FaceBeautyDataFactory(new FaceBeautyDataFactory.FaceBeautyListener() {
@Override
public void onFilterSelected(int res) {
}
@Override
public void onFaceBeautyEnable(boolean enable) {
}
});
}
@Override
public void setData(BaseBean data) {
itemView.setTag(data);
icon.setImageResource(data.getImageRes());
title.setText(data.getDesRes());
ModelAttributeData attributeData = data.getModelAttributeData();

View File

@@ -8,6 +8,9 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 大头
*/
public class BigHeadViewHolder extends BaseViewHolder{
ImageView imageView;
public BigHeadViewHolder(@NonNull View itemView) {

View File

@@ -10,6 +10,9 @@ import com.yunbao.faceunity.R;
import com.yunbao.faceunity.adapters.vh.BaseViewHolder;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 滤镜
*/
public class FilterViewHolder extends BaseViewHolder {
private ImageView icon;
private TextView title;
@@ -18,11 +21,15 @@ public class FilterViewHolder extends BaseViewHolder {
super(itemView);
icon = itemView.findViewById(R.id.iv_control);
title = itemView.findViewById(R.id.tv_control);
itemView.setOnClickListener(view -> setSelectPosition(getAdapterPosition()));
}
@Override
public void setData(BaseBean data) {
icon.setImageResource(data.getImageRes());
title.setText(data.getDesRes());
icon.setSelected(getSelectPosition()==getAdapterPosition());
title.setSelected(getSelectPosition()==getAdapterPosition());
}
}

View File

@@ -9,12 +9,16 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 精品贴纸
*/
public class FineStickerViewHolder extends BaseViewHolder {
ImageView imageView;
public FineStickerViewHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.iv_control);
itemView.setOnClickListener(view -> setSelectPosition(getAdapterPosition()));
}
@Override
@@ -24,5 +28,6 @@ public class FineStickerViewHolder extends BaseViewHolder {
} else {
ImgLoader.display(imageView.getContext(), data.getImageUrl(), imageView);
}
imageView.setSelected(getSelectPosition() == getAdapterPosition());
}
}

View File

@@ -9,6 +9,9 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 美妆
*/
public class MakeupViewHolder extends BaseViewHolder {
private ImageView icon;
private TextView title;

View File

@@ -8,6 +8,9 @@ import androidx.annotation.NonNull;
import com.yunbao.faceunity.R;
import com.yunbao.faceunity.entity.BaseBean;
/**
* 普通贴纸
*/
public class StickerViewHolder extends BaseViewHolder{
ImageView imageView;
public StickerViewHolder(@NonNull View itemView) {

View File

@@ -24,5 +24,6 @@ public class StyleViewHolder extends BaseViewHolder{
icon.setImageResource(data.getImageRes());
title.setText(data.getDesRes());
icon.setSelected(getSelectPosition()==getAdapterPosition());
title.setSelected(getSelectPosition()==getAdapterPosition());
}
}

View File

@@ -1,4 +1,4 @@
package com.yunbao.faceunity.entity;
package com.yunbao.faceunity.data;
import android.util.Log;
import android.view.MotionEvent;
@@ -17,7 +17,6 @@ import com.faceunity.core.model.antialiasing.Antialiasing;
import com.faceunity.core.model.prop.sticker.FineSticker;
import com.faceunity.core.utils.FileUtils;
import com.yunbao.faceunity.data.FaceBeautyDataFactory;
import com.yunbao.faceunity.entity.net.FineStickerEntity;
import com.yunbao.faceunity.entity.net.FineStickerTagEntity;
import com.yunbao.faceunity.infe.AbstractFineStickerDataFactory;

View File

@@ -1,14 +1,5 @@
package com.yunbao.faceunity.repo;
import com.yunbao.faceunity.entity.FineStickerDataFactory;
import com.yunbao.faceunity.entity.net.FineStickerEntity;
import com.yunbao.faceunity.entity.net.FineStickerTagEntity;
import com.yunbao.faceunity.utils.net.StickerDownloadHelper;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
public class FineStickerSource {
}

View File

@@ -19,7 +19,7 @@ import com.yunbao.faceunity.adapters.MenuGroupRecyclerAdapter;
import com.yunbao.faceunity.data.FaceParam;
import com.yunbao.faceunity.data.FaceUnityDataFactory;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.entity.FineStickerDataFactory;
import com.yunbao.faceunity.data.FineStickerDataFactory;
import com.yunbao.faceunity.entity.FunctionEnum;
import com.yunbao.faceunity.entity.MenuGroupBean;
import com.yunbao.faceunity.entity.net.FineStickerEntity;
@@ -110,6 +110,8 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
}
private void goBackMainMenu(){
setContainerRecycler(new ArrayList<>());
title.setText("美顏特效選擇");
title.setVisibility(VISIBLE);
menu2.setVisibility(GONE);
menuGroup.setVisibility(VISIBLE);
}

View File

@@ -23,6 +23,10 @@ class SeekBarUtils {
}
bar.visibility = View.VISIBLE
}
fun seekToValue(range:Double,value:Int,seekBarMin:Int):Double{
val valueF: Double = 1.0 * (value - seekBarMin) / 100
return range*valueF;
}
}