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