From b7606aff181e01af3f3d4cad2bc183b8d29058aa Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 28 三月 2023 21:38:37 +0800
Subject: [PATCH] 添加删除修改家大事记

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java |   97 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 77 insertions(+), 20 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
index 3e07dd7..4c9fced 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
@@ -1,12 +1,21 @@
 package com.application.zhangshi_app_android.ui.function;
 
+import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
+import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
+import android.widget.PopupWindow;
 
 import androidx.annotation.Nullable;
 import androidx.databinding.DataBindingUtil;
 
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
 import com.android.app_base.base.view.BaseActivity;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.ToastUtils;
 import com.android.app_base.widget.LinearItemDecoration;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
@@ -19,19 +28,9 @@
  * @desc 瀹跺ぇ浜嬭 CreateFamilyProjectActivity
  */
 public class CreateFamilyProjectActivity extends BaseActivity<ItemFamilyCreateBinding,CreateFamilyProjectActivityViewModel> {
-    ItemFamilyCreateBinding binding;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        binding=DataBindingUtil.setContentView(this,R.layout.item_family_create);
-
-
-    }
-public class Myclick{public void onClick(View view){
-
-        }
-    }
+    private int type;
+    private int operateType;
+    private PopupWindow popupWindow;
     @Override
     public int getLayoutId() {
         return R.layout.item_family_create;
@@ -39,22 +38,80 @@
 
     @Override
     public int getVariableId() {
-        return BR.CreateFamilyActivityViewModel;
+        return BR.viewModel;
     }
 
     @Override
     public void initParam() {
-
+        type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+        if (type == 0){
+            FamilyMemorabiliaBean bean = (FamilyMemorabiliaBean) getIntent().getSerializableExtra("bean");
+            if (bean!=null){
+                viewModel.getBeanMutableLiveData().postValue(bean);
+            }
+        }
     }
 
     @Override
     public void initView() {
+        if (type == 1){
+            binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+            binding.ivOperate.setOnClickListener(v -> {
+                viewModel.add();
+            });
+        }else {
+            binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+            popupWindow = new PopupWindow(this);
+            // 璁剧疆甯冨眬鏂囦欢
+            popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.pop_operate_delete, null));
+            // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
+            popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
+            popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
+            // 璁剧疆pop閫忔槑鏁堟灉
+            popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
+            // 璁剧疆pop鍑哄叆鍔ㄧ敾
+            popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add);
+            // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
+            popupWindow.setFocusable(true);
+            // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
+            popupWindow.setTouchable(true);
+            // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
+            popupWindow.setOutsideTouchable(true);
 
-        LinearItemDecoration itemDecoration = new LinearItemDecoration();
-        itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
-        itemDecoration.setHorizontalSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
-        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
-
+            binding.ivOperate.setOnClickListener(v -> {
+                if (operateType == 0){
+                    popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+                }else{
+                    viewModel.update();
+                }
+            });
+            popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+                    operateType = 1;
+                    popupWindow.dismiss();
+                }
+            });
+            popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    popupWindow.dismiss();
+                    new UIDialog.Builder(getSelfActivity())
+                            .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+                            .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+                            .setConfirm("纭畾")
+                            .setCancel("鍙栨秷")
+                            .setListener(new UIDialog.OnListener() {
+                                @Override
+                                public void onConfirm(BaseDialog dialog) {
+                                    viewModel.delete();
+                                }
+                            })
+                            .show();
+                }
+            });
+        }
     }
 
     @Override

--
Gitblit v1.9.1