From 189f05822e81680e69e479a2ecc499c43c7f2c80 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 12 四月 2017 11:16:23 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AddDialog.java         |  178 ++++++++++++++++++++++++++++++++++++++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java      |    9 ++
 VisitFace/DemoForBsk/app/src/main/res/layout/dialog_add.xml                            |   35 ++++----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java            |    1 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java |    3 
 5 files changed, 207 insertions(+), 19 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AddDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AddDialog.java
new file mode 100644
index 0000000..90a7894
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AddDialog.java
@@ -0,0 +1,178 @@
+package cn.com.basic.face.dialog;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+import android.widget.PopupWindow;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.bsk.zhangbo.demoforbsk.R;
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
+import com.lidroid.xutils.view.annotation.event.OnClick;
+import com.wx.wheelview.adapter.BaseWheelAdapter;
+import com.wx.wheelview.widget.WheelView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.entity.Dictionary;
+import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.OkClickedListener;
+
+public class AddDialog extends PopupWindow {
+    private final View parentView;
+    @ViewInject(R.id.dialog_add_title)
+    private TextView dialog_add_title;
+    @ViewInject(R.id.dialog_add_list_view)
+    private WheelView dialog_add_list_view;
+    @ViewInject(R.id.dialog_add_content)
+    private EditText dialog_add_content;
+
+    private List list = new ArrayList();
+
+    public static List visitorTypeList = new ArrayList();
+    public static List genderList = new ArrayList();
+    public static List idTypeList = new ArrayList();
+    public static List visitReasonList = new ArrayList();
+
+    public static void setVisitorTypeList(List visitorTypeList) {
+        AddDialog.visitorTypeList = visitorTypeList;
+    }
+
+    public static void setGenderList(List genderList) {
+        AddDialog.genderList = genderList;
+    }
+
+    public static void setIdTypeList(List idTypeList) {
+        AddDialog.idTypeList = idTypeList;
+    }
+
+    public AddDialog(View parentView, int type, OkClickedListener okButtonClickedListener) {
+        this.parentView = parentView;
+        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_add,null);
+        ViewUtils.inject(this, view);
+        setTitleAndList(type);
+        WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
+        style.selectedTextColor = Color.parseColor("#11c3e3");
+        style.textColor = Color.parseColor("#bcc6cf");
+        style.selectedTextSize = 22;
+        style.textSize = 16;
+        style.holoBorderColor = Color.parseColor("#11c3e3");
+
+        dialog_add_list_view.setWheelAdapter(new WheelAdapter(MainActivity.getInstance()));
+        dialog_add_list_view.setSkin(WheelView.Skin.Holo);
+        if (list != null && list.size() > 0) {
+            dialog_add_list_view.setWheelData(list);
+        }
+        dialog_add_list_view.setWheelSize(5);
+        dialog_add_list_view.setBackgroundResource(R.color.colorBackground);
+        dialog_add_list_view.setStyle(style);
+
+        view.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View view, MotionEvent motionEvent) {
+            View popLayout = view.findViewById(R.id.dialog_add_linear_layout);
+            int top = popLayout.getTop();
+            int bottom = popLayout.getBottom();
+            int left = popLayout.getLeft();
+            int right = popLayout.getRight();
+            int y = (int) motionEvent.getY();
+            int x = (int) motionEvent.getX();
+            if (motionEvent.getAction() == MotionEvent.ACTION_UP){
+                if (y<top || y> bottom){
+                    dismiss();
+                }
+                if (x < left || x > right){
+                    dismiss();
+                }
+
+            }
+            return true;
+            }
+        });
+
+        setOutsideTouchable(true);
+        this.setContentView(view);
+        this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
+        this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
+        this.setFocusable(true);
+        this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
+        this.setAnimationStyle(R.style.PopupAnimation);
+        okButtonClickedListeners.add(okButtonClickedListener);
+        this.showAtLocation(parentView, Gravity.CENTER,0,0);
+    }
+
+    @OnClick(R.id.dialog_add_ok)
+    public void dialog_add_ok_click(View view) {
+        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
+            okButtonClickedListener.onSelected(dialog_add_content.getText().toString());
+        }
+        dismiss();
+    }
+
+    @OnClick(R.id.dialog_add_cancel)
+    public void dialog_add_cancel_click(View view) {
+        dismiss();
+    }
+
+    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
+
+    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
+        this.okButtonClickedListeners.add(okButtonClickedListener);
+    }
+
+    private void setTitleAndList(int type) {
+        String tile = "";
+        switch (type) {
+            case Constant.DialogSelectType.VISIT_REASON_ADD:
+                tile = "娣诲姞璁块棶浜嬬敱";
+                break;
+        }
+        dialog_add_title.setText(tile);
+    }
+
+    public static void setVisitReasonList(List visitReasonList) {
+        AddDialog.visitReasonList = visitReasonList;
+    }
+
+
+    public static class WheelAdapter extends BaseWheelAdapter<String> {
+        private Context mContext;
+
+        public WheelAdapter(Context context) {
+            mContext = context;
+        }
+
+        @Override
+        protected View bindView(int position, View convertView, ViewGroup parent) {
+            ViewHolder viewHolder;
+            if (convertView == null) {
+                viewHolder = new ViewHolder();
+                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
+                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
+                convertView.setTag(viewHolder);
+            } else {
+                viewHolder = (ViewHolder) convertView.getTag();
+            }
+            viewHolder.textView.setText(mList.get(position)+"");
+            return convertView;
+        }
+
+        static class ViewHolder {
+            TextView textView;
+        }
+
+    }
+
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
index 7914037..cedd08e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
@@ -15,6 +15,7 @@
 
 import com.bsk.zhangbo.demoforbsk.R;
 import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.fragment.CheckInFragment;
 import cn.com.basic.face.util.Constant;
 import cn.com.basic.face.util.OkClickedListener;
 
@@ -30,6 +31,7 @@
 import cn.com.basic.face.discern.entity.Dictionary;
 
 public class SelectDialog extends PopupWindow {
+    private final View parentView;
     @ViewInject(R.id.dialog_select_title)
     private TextView dialog_select_title;
     @ViewInject(R.id.dialog_select_list_view)
@@ -59,6 +61,7 @@
     }
 
     public SelectDialog(View parentView, int type, OkClickedListener okButtonClickedListener) {
+        this.parentView = parentView;
         View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_select,null);
         ViewUtils.inject(this, view);
         setTitleAndList(type);
@@ -170,7 +173,13 @@
 
     @OnClick(R.id.dialog_select_add)
     public void dialog_select_add_click(View view) {
+        dismiss();
         Toast.makeText(MainActivity.getInstance(), "娣诲姞", Toast.LENGTH_SHORT);
+        new AddDialog(parentView, Constant.DialogSelectType.VISIT_REASON_ADD, new OkClickedListener() {
+            public void onSelected(String value) {
+                CheckInFragment.getInstance().setVisitReasonText(value);
+            }
+        });
     }
 
     public static void setVisitReasonList(List visitReasonList) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
index c1c6af4..3743201 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -204,5 +204,8 @@
         fragment_check_in_right_visitor_cell.resetForm();
     }
 
+    public void setVisitReasonText(String value) {
+        fragment_check_in_right_visitor_reason.setText(value);
+    }
 
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
index 72e6710..1448c9e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
@@ -28,6 +28,7 @@
         public static final int ID_TYPE = 2;
         public static final int VISITOR_TYPE = 3;
         public static final int VISIT_REASON = 4;
+        public static final int VISIT_REASON_ADD = 5;
     }
 
     public static class TabType {
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visit_reason.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/dialog_add.xml
similarity index 70%
rename from VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visit_reason.xml
rename to VisitFace/DemoForBsk/app/src/main/res/layout/dialog_add.xml
index 1399c83..23c7610 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visit_reason.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/dialog_add.xml
@@ -5,14 +5,14 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
     <LinearLayout
-        android:id="@+id/dialog_country_linear_layout"
+        android:id="@+id/dialog_add_linear_layout"
         android:layout_width="350dp"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:background="@android:color/white"
         android:orientation="vertical">
         <TextView
-            android:id="@+id/dialog_select_title"
+            android:id="@+id/dialog_add_title"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:padding="20dp"
@@ -21,9 +21,18 @@
             android:textSize="@dimen/text_size_big"
             android:background="@color/colorPrimary"/>
         <com.wx.wheelview.widget.WheelView
-            android:id="@+id/dialog_select_list_view"
+            android:id="@+id/dialog_add_list_view"
             android:layout_width="200dp"
-            android:layout_height="wrap_content"></com.wx.wheelview.widget.WheelView>
+            android:layout_height="wrap_content"/>
+        <EditText
+            android:id="@+id/dialog_add_content"
+            android:layout_width="200dp"
+            android:layout_height="wrap_content"
+            android:textSize="@dimen/text_size_big"
+            android:textColor="@color/colorText_5"
+            android:padding="22dp"
+            android:gravity="center"
+            />
         <View
             android:layout_width="match_parent"
             android:layout_height="0.5dp"
@@ -33,31 +42,19 @@
             android:layout_height="50dp"
             android:orientation="horizontal">
             <TextView
-            android:id="@+id/dialog_select_ok"
-            android:layout_weight="1"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:gravity="center"
-            android:text="@string/confirm"
-            android:textSize="@dimen/text_size_big"/>
-            <View
-                android:layout_width="0.5dp"
-                android:layout_height="match_parent"
-                android:background="@color/colorText_5"/>
-            <TextView
-                android:id="@+id/pop_single_add"
+                android:id="@+id/dialog_add_ok"
                 android:layout_weight="1"
                 android:layout_width="wrap_content"
                 android:layout_height="match_parent"
                 android:gravity="center"
-                android:text="@string/add"
+                android:text="@string/confirm"
                 android:textSize="@dimen/text_size_big"/>
             <View
                 android:layout_width="0.5dp"
                 android:layout_height="match_parent"
                 android:background="@color/colorText_5"/>
             <TextView
-                android:id="@+id/dialog_select_cancel"
+                android:id="@+id/dialog_add_cancel"
                 android:layout_weight="1"
                 android:layout_width="wrap_content"
                 android:layout_height="match_parent"

--
Gitblit v1.8.0