update ui
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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 {
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user