VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseActivity.java
@@ -4,6 +4,7 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.view.View; import org.xutils.x; @@ -12,12 +13,20 @@ */ public abstract class BaseActivity extends AppCompatActivity{ private View view; public View getView() { return view; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); x.view().inject(this); //设置布局内容 setContentView(getLayoutId()); view = findViewById(getLayoutId()); //初始化控件 initViews(savedInstanceState); //初始化ToolBar VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -68,7 +68,7 @@ } } public static Context getInstance() { public static MainActivity getInstance() { return instance; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountryDialog.java
File was renamed from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java @@ -3,6 +3,7 @@ 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; @@ -13,6 +14,7 @@ import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.adapter.MyWheelAdapter; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.OkButtonClickedListener; import com.lidroid.xutils.ViewUtils; @@ -24,7 +26,7 @@ import java.util.HashMap; import java.util.List; public class CountrySelectionDialog extends PopupWindow implements WheelView.OnWheelItemSelectedListener { public class CountryDialog extends PopupWindow implements WheelView.OnWheelItemSelectedListener { @ViewInject(R.id.dialog_country_ok) private TextView dialog_country_ok; @@ -61,8 +63,8 @@ dismiss(); } public CountrySelectionDialog(Context context, OkButtonClickedListener okButtonClickedListener) { view = LayoutInflater.from(context).inflate(R.layout.dialog_country, null); public CountryDialog(View parentView, OkButtonClickedListener okButtonClickedListener) { view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_country, null); ViewUtils.inject(this, view); this.countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getSelection())); @@ -74,13 +76,13 @@ wheelViewStyle.textSize = 16; wheelViewStyle.holoBorderColor = Color.parseColor("#11c3e3"); dialog_country_name_first_letter.setWheelAdapter(new MyWheelAdapter(context)); dialog_country_name_first_letter.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance())); dialog_country_name_first_letter.setSkin(WheelView.Skin.Holo); dialog_country_name_first_letter.setWheelSize(5); dialog_country_name_first_letter.setBackgroundResource(R.color.colorBackground); dialog_country_name_first_letter.setStyle(wheelViewStyle); dialog_country_name.setWheelAdapter(new MyWheelAdapter(context)); dialog_country_name.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance())); dialog_country_name.setSkin(WheelView.Skin.Holo); dialog_country_name.setWheelSize(5); dialog_country_name.setBackgroundResource(R.color.colorBackground); @@ -120,6 +122,7 @@ this.setAnimationStyle(R.style.PopupAnimation); okButtonClickedListeners.add(okButtonClickedListener); showAtLocation(parentView, Gravity.CENTER,0,0); } @Override VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
New file @@ -0,0 +1,120 @@ package cn.com.basic.face.dialog; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.adapter.MyWheelAdapter; import cn.com.basic.face.util.OkButtonClickedListener; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import com.wx.wheelview.widget.WheelView; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.discern.entity.Dictionary; public class SelectDialog extends PopupWindow { private View view; @ViewInject(R.id.dialog_select_title) private TextView dialog_select_title; private List mList; @ViewInject(R.id.dialog_select_list_view) private WheelView dialog_select_list_view; public SelectDialog(Context context, List mList, String mTitle) { view = LayoutInflater.from(context).inflate(R.layout.dialog_select,null); ViewUtils.inject(this, view); this.mList = mList; dialog_select_title = (TextView) view.findViewById(R.id.dialog_select_title); if (mTitle !=null && mTitle.length() > 0){ dialog_select_title.setText(mTitle); }else { dialog_select_title.setText("标题"); } 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_select_list_view.setWheelAdapter(new MyWheelAdapter(context)); dialog_select_list_view.setSkin(WheelView.Skin.Holo); if (mList != null && mList.size() > 0) { dialog_select_list_view.setWheelData(mList); } dialog_select_list_view.setWheelSize(5); dialog_select_list_view.setBackgroundResource(R.color.colorBackground); dialog_select_list_view.setStyle(style); view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { View popLayout = view.findViewById(R.id.dialog_select_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(this.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); } @OnClick(R.id.dialog_select_ok) public void dialog_select_ok_click(View view) { for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) { if (dialog_select_list_view.getCurrentPosition() >= 0) { Object o = mList.get(dialog_select_list_view.getCurrentPosition()); String item = ""; if (o instanceof Dictionary) { item = ((Dictionary) o).getName(); } else { item = o+""; } okButtonClickedListener.onItemSelected(dialog_select_list_view.getCurrentPosition(), o, item); } } dismiss(); } @OnClick(R.id.dialog_select_cancel) public void dialog_select_cancel_click(View view) { dismiss(); } private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>(); public void addOkButtonClickedListener(OkButtonClickedListener okButtonClickedListener) { this.okButtonClickedListeners.add(okButtonClickedListener); } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SingleSelectionDialog.java
File was deleted VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/VisitReasonDialog.java
@@ -34,16 +34,16 @@ this.mContext = context; view = LayoutInflater.from(context).inflate(R.layout.dialog_visit_reason,null); this.mList = mList; mTvTitle = (TextView) view.findViewById(R.id.pop_single_title); mTvTitle = (TextView) view.findViewById(R.id.dialog_select_title); if (mTitle !=null && mTitle.length() > 0){ mTvTitle.setText(mTitle); }else { mTvTitle.setText("标题"); } mWheelView = (WheelView) view.findViewById(R.id. pop_single_wheel); mWheelView = (WheelView) view.findViewById(R.id.dialog_select_list_view); mWheelView.setOnWheelItemSelectedListener(this); mTvCancel = (TextView) view.findViewById(R.id.pop_single_cancel); mTvConfirm = (TextView) view.findViewById(R.id.pop_single_confirm); mTvCancel = (TextView) view.findViewById(R.id.dialog_select_cancel); mTvConfirm = (TextView) view.findViewById(R.id.dialog_select_ok); mTvCancel.setOnClickListener(this); mTvConfirm.setOnClickListener(this); mWheelView.setWheelAdapter(new MyWheelAdapter(context)); @@ -106,13 +106,13 @@ @Override public void onClick(View view) { switch (view.getId()){ case R.id.pop_single_cancel: case R.id.dialog_select_cancel: dismiss(); break; case R.id.pop_single_add: dismiss(); break; case R.id.pop_single_confirm: case R.id.dialog_select_ok: for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) { if (mWheelView.getCurrentPosition() >= 0) { Object o = mList.get(mWheelView.getCurrentPosition()); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -22,10 +22,10 @@ import cn.com.basic.face.util.AppApi; import cn.com.basic.face.dialog.BirthdayPickerDialog; import cn.com.basic.face.dialog.CountrySelectionDialog; import cn.com.basic.face.dialog.CountryDialog; import cn.com.basic.face.widget.RegisterRightFieldLabelView; import cn.com.basic.face.widget.RegisterRightFieldTextView; import cn.com.basic.face.dialog.SingleSelectionDialog; import cn.com.basic.face.dialog.SelectDialog; import com.facebook.drawee.view.SimpleDraweeView; import com.lidroid.xutils.ViewUtils; @@ -36,7 +36,6 @@ import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; import cn.com.basic.face.base.MainActivity; @@ -74,7 +73,7 @@ private List mSexList; private List mVisitorTypeList; private List mCredentialsList; private LinearLayout mBaseLayout; private LinearLayout fragment_register_linear_layout; private static RegisterFragment instance = new RegisterFragment(); @@ -88,8 +87,8 @@ @Override protected void initViews(View view, Bundle savedInstanceState) { mBaseLayout = (LinearLayout) view.findViewById(R.id.fragment_register_linear_layout); ViewUtils.inject(this, mBaseLayout); fragment_register_linear_layout = (LinearLayout) view.findViewById(R.id.fragment_register_linear_layout); ViewUtils.inject(this, fragment_register_linear_layout); } @OnClick(R.id.fragment_register_save) @@ -117,8 +116,8 @@ @OnClick(R.id.register_gender) public void register_gender_click(View view) { SingleSelectionDialog popup = new SingleSelectionDialog(getActivity(),mSexList,"性别"); popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); SelectDialog popup = new SelectDialog(getActivity(),mSexList,"性别"); popup.showAtLocation(fragment_register_linear_layout, Gravity.CENTER,0,0); popup.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { @@ -129,13 +128,11 @@ @OnClick(R.id.register_country) public void register_country_click(View view) { CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(), new OkButtonClickedListener() { @Override new CountryDialog(fragment_register_linear_layout, new OkButtonClickedListener() { public void onItemSelected(int position, Object o, String item) { register_country.setValue(item); } }); countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); } @OnClick(R.id.register_birthday) @@ -155,8 +152,8 @@ @OnClick(R.id.register_visitor_class) public void register_visitor_class_click(View view) { SingleSelectionDialog popup1 = new SingleSelectionDialog(getActivity(),mVisitorTypeList,"访客类型"); popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); SelectDialog popup1 = new SelectDialog(getActivity(),mVisitorTypeList,"访客类型"); popup1.showAtLocation(fragment_register_linear_layout, Gravity.CENTER,0,0); popup1.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { @@ -167,8 +164,8 @@ @OnClick(R.id.register_id_class) public void register_id_class_click(View view) { SingleSelectionDialog popup2 = new SingleSelectionDialog(getActivity(),mCredentialsList,"证件类型"); popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); SelectDialog popup2 = new SelectDialog(getActivity(),mCredentialsList,"证件类型"); popup2.showAtLocation(fragment_register_linear_layout, Gravity.CENTER,0,0); popup2.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java
@@ -1,6 +1,6 @@ package cn.com.basic.face.service; import cn.com.basic.face.dialog.CountrySelectionDialog; import cn.com.basic.face.dialog.CountryDialog; import cn.com.basic.face.fragment.RegisterFragment; import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.util.AppApi; @@ -61,7 +61,7 @@ countryWordData[i] = item.getName(); i++; } CountrySelectionDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter); CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter); } }); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
@@ -23,4 +23,10 @@ public static final int VISIT_BLANK_CELL_VIEW_INDEX = 2; } public static class DialogSelectType { public static final int GENDER = 1; public static final int ID_TYPE = 2; public static final int VISITOR_TYPE = 2; } } VisitFace/DemoForBsk/app/src/main/res/layout/dialog_select.xml
File was renamed from VisitFace/DemoForBsk/app/src/main/res/layout/dialog_single_selection.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_select_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/pop_single_title" android:id="@+id/dialog_select_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dp" @@ -21,9 +21,9 @@ android:textSize="@dimen/text_size_big" android:background="@color/colorPrimary"/> <com.wx.wheelview.widget.WheelView android:id="@+id/pop_single_wheel" android:id="@+id/dialog_select_list_view" android:layout_width="200dp" android:layout_height="wrap_content"></com.wx.wheelview.widget.WheelView> android:layout_height="wrap_content"/> <View android:layout_width="match_parent" android:layout_height="0.5dp" @@ -33,7 +33,7 @@ android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/pop_single_confirm" android:id="@+id/dialog_select_ok" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="match_parent" @@ -45,7 +45,7 @@ android:layout_height="match_parent" android:background="@color/colorText_5"/> <TextView android:id="@+id/pop_single_cancel" android:id="@+id/dialog_select_cancel" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="match_parent" VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visit_reason.xml
@@ -12,7 +12,7 @@ android:background="@android:color/white" android:orientation="vertical"> <TextView android:id="@+id/pop_single_title" android:id="@+id/dialog_select_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dp" @@ -21,7 +21,7 @@ android:textSize="@dimen/text_size_big" android:background="@color/colorPrimary"/> <com.wx.wheelview.widget.WheelView android:id="@+id/pop_single_wheel" android:id="@+id/dialog_select_list_view" android:layout_width="200dp" android:layout_height="wrap_content"></com.wx.wheelview.widget.WheelView> <View @@ -33,7 +33,7 @@ android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/pop_single_confirm" android:id="@+id/dialog_select_ok" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="match_parent" @@ -57,7 +57,7 @@ android:layout_height="match_parent" android:background="@color/colorText_5"/> <TextView android:id="@+id/pop_single_cancel" android:id="@+id/dialog_select_cancel" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="match_parent"