补充美颜模型和美颜配置
This commit is contained in:
@@ -7,6 +7,8 @@ import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
||||
import com.yunbao.faceunity.R;
|
||||
@@ -17,6 +19,9 @@ import com.yunbao.faceunity.control.MakeupControlView;
|
||||
import com.yunbao.faceunity.control.PropControlView;
|
||||
import com.yunbao.faceunity.data.FaceUnityDataFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DESC:
|
||||
* Created on 2021/4/26
|
||||
@@ -24,6 +29,7 @@ import com.yunbao.faceunity.data.FaceUnityDataFactory;
|
||||
public class FaceUnityView extends LinearLayout {
|
||||
|
||||
private Context mContext;
|
||||
private RecyclerView menuGroup;
|
||||
|
||||
public FaceUnityView(Context context) {
|
||||
super(context);
|
||||
@@ -67,36 +73,15 @@ public class FaceUnityView extends LinearLayout {
|
||||
*/
|
||||
public void bindDataFactory(FaceUnityDataFactory dataFactory) {
|
||||
mDataFactory = dataFactory;
|
||||
mFaceBeautyControlView.bindDataFactory(dataFactory.mFaceBeautyDataFactory);
|
||||
mMakeupControlView.bindDataFactory(dataFactory.mMakeupDataFactory);
|
||||
mPropControlView.bindDataFactory(dataFactory.mPropDataFactory);
|
||||
mBodyBeautyControlView.bindDataFactory(dataFactory.mBodyBeautyDataFactory);
|
||||
switch (dataFactory.currentFunctionIndex) {
|
||||
case 0:
|
||||
mCheckGroupView.check(R.id.radio_beauty);
|
||||
break;
|
||||
case 1:
|
||||
mCheckGroupView.check(R.id.radio_sticker);
|
||||
break;
|
||||
case 2:
|
||||
mCheckGroupView.check(R.id.radio_makeup);
|
||||
break;
|
||||
case 3:
|
||||
mCheckGroupView.check(R.id.radio_body);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化View
|
||||
*/
|
||||
private void initView() {
|
||||
mCheckGroupView = findViewById(R.id.group_function);
|
||||
mFaceBeautyControlView = findViewById(R.id.control_beauty);
|
||||
mMakeupControlView = findViewById(R.id.control_makeup);
|
||||
mPropControlView = findViewById(R.id.control_prop);
|
||||
mBodyBeautyControlView = findViewById(R.id.control_body);
|
||||
lineView = findViewById(R.id.line);
|
||||
menuGroup=findViewById(R.id.menu_group);
|
||||
initMenuGroup();
|
||||
}
|
||||
|
||||
|
||||
@@ -104,23 +89,7 @@ public class FaceUnityView extends LinearLayout {
|
||||
* 底部功能菜单切换
|
||||
*/
|
||||
private void bindBottomView() {
|
||||
mCheckGroupView.setOnCheckedChangeListener((group, checkedId) -> {
|
||||
if (checkedId == R.id.radio_beauty) {
|
||||
showFunction(0);
|
||||
mDataFactory.onFunctionSelected(0);
|
||||
} else if (checkedId == R.id.radio_sticker) {
|
||||
showFunction(1);
|
||||
mDataFactory.onFunctionSelected(1);
|
||||
} else if (checkedId == R.id.radio_makeup) {
|
||||
showFunction(2);
|
||||
mDataFactory.onFunctionSelected(2);
|
||||
} else if (checkedId == R.id.radio_body) {
|
||||
showFunction(3);
|
||||
mDataFactory.onFunctionSelected(3);
|
||||
} else {
|
||||
showFunction(-1);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -129,12 +98,19 @@ public class FaceUnityView extends LinearLayout {
|
||||
* @param index Int
|
||||
*/
|
||||
private void showFunction(int index) {
|
||||
mFaceBeautyControlView.setVisibility((index == 0) ? View.VISIBLE : View.GONE);
|
||||
mPropControlView.setVisibility((index == 1) ? View.VISIBLE : View.GONE);
|
||||
mMakeupControlView.setVisibility((index == 2) ? View.VISIBLE : View.GONE);
|
||||
mBodyBeautyControlView.setVisibility((index == 3) ? View.VISIBLE : View.GONE);
|
||||
lineView.setVisibility((index != -1) ? View.VISIBLE : View.GONE);
|
||||
|
||||
}
|
||||
private void initMenuGroup(){
|
||||
menuGroup.setLayoutManager(new GridLayoutManager(mContext,4));
|
||||
Map<Integer,Integer> layoutItem=new HashMap<>();
|
||||
layoutItem.put(R.string.home_function_name_beauty,R.mipmap.ico_home_beauty);
|
||||
layoutItem.put(R.string.home_function_name_makeup,R.mipmap.ico_home_makeup);
|
||||
layoutItem.put(R.string.home_function_name_beauty_body,R.mipmap.ico_home_beauty_body);
|
||||
layoutItem.put(R.string.home_function_name_beauty_body,R.mipmap.ico_home_beauty_body);
|
||||
layoutItem.put(R.string.home_function_name_big_head,R.mipmap.ico_home_big_head);
|
||||
layoutItem.put(R.string.home_function_name_animoji,R.mipmap.ico_home_animoji);
|
||||
layoutItem.put(R.string.home_function_name_sticker,R.mipmap.ico_home_sticker);
|
||||
layoutItem.put(R.string.home_function_name_fine_sticker,R.mipmap.ico_home_fine_sticker);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yunbao.faceunity.ui.fragments;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.yunbao.faceunity.dialog.BaseDialogFragment;
|
||||
|
||||
public class FaceContainerFragment extends BaseDialogFragment {
|
||||
@Override
|
||||
protected View createDialogView(LayoutInflater inflater, @Nullable ViewGroup container) {
|
||||
return new LinearLayout(inflater.getContext());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user