From ff93094cd08e8486242e60e9f076ebfd66b83e9c Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 31 三月 2017 17:23:59 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldLabelView.java |   80 ++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java          |  307 +++++++++++++-----------------
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml                               |   74 ++++--
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_label.xml                   |    4 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldTextView.java  |   75 +++++++
 VisitFace/DemoForBsk/app/src/main/res/values/attrs.xml                                           |    4 
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_field.xml                   |    7 
 7 files changed, 344 insertions(+), 207 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
index 3146f69..176eded 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -26,7 +26,11 @@
 import cn.com.basic.face.util.AppApi;
 import cn.com.basic.face.widget.BirthdayPickerDialog;
 import cn.com.basic.face.widget.CountrySelectionDialog;
+import cn.com.basic.face.widget.RegisterRightFieldLabelView;
+import cn.com.basic.face.widget.RegisterRightFieldTextView;
 import cn.com.basic.face.widget.SingleSelectionDialog;
+
+import com.facebook.drawee.view.SimpleDraweeView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.lidroid.xutils.view.annotation.event.OnClick;
@@ -45,46 +49,38 @@
 /**
  * Created by Administrator on 2017/2/20 0020.
  */
-//@ContentView(value = R.layout.fragment_register)
 public class RegisterFragment extends BaseFragment implements View.OnClickListener{
 
-    private static final int PICK_IMAGE_REQUEST = 1;
-    @ViewInject(value = R.id.register_tv_content, parentId = R.id.register_id_class)
-    private TextView identityTypeTv;
-    private TextView genderTv;
-    private TextView countryTv;
-    private TextView birthdayTv;
-    private TextView isitorvTypeTv;
-    private TextView mViewVisitorClassTitle;
+    @ViewInject(R.id.register_name)
+    private RegisterRightFieldTextView register_name;
+    @ViewInject(R.id.register_gender)
+    private RegisterRightFieldLabelView register_gender;
+    @ViewInject(R.id.register_country)
+    private RegisterRightFieldLabelView register_country;
+    @ViewInject(R.id.register_birthday)
+    private RegisterRightFieldLabelView register_birthday;
+    @ViewInject(R.id.register_visitor_class)
+    private RegisterRightFieldLabelView register_visitor_class;
+    @ViewInject(R.id.register_phone)
+    private RegisterRightFieldLabelView register_phone;
+    @ViewInject(R.id.register_id_class)
+    private RegisterRightFieldLabelView register_id_class;
+    @ViewInject(R.id.register_id_num)
+    private RegisterRightFieldLabelView register_id_num;
+    @ViewInject(R.id.register_company)
+    private RegisterRightFieldLabelView register_company;
+    @ViewInject(R.id.register_remark)
+    private RegisterRightFieldLabelView register_remark;
+    @ViewInject(R.id.fragment_register_choose_photo)
+    private SimpleDraweeView fragment_register_choose_photo;
+    @ViewInject(R.id.fragment_register_update__photo)
+    private ImageView fragment_register_update__photo;
 
-    private EditText nameEt, phoneEt, identifyEt, companyEt,mViewRemarkContent;
+    private static final int PICK_IMAGE_REQUEST = 1;
     private List mSexList;
     private List mVisitorTypeList;
     private List mCredentialsList;
     private LinearLayout mBaseLayout;
-
-    @ViewInject(R.id.register_name)
-    private View mViewName;
-    @ViewInject(R.id.register_gender)
-    private View mViewSex;
-    @ViewInject(R.id.register_country)
-    private View mViewNation;
-    @ViewInject(R.id.register_birthday)
-    private View mViewBirthday;
-    @ViewInject(R.id.register_visitor_class)
-    private View mViewVisitorClass;
-    @ViewInject(R.id.register_phone)
-    private View mViewPhone;
-    @ViewInject(R.id.register_id_class)
-    private View mViewIdClass;
-    @ViewInject(R.id.register_id_num)
-    private View mViewIdNumber;
-    @ViewInject(R.id.register_company)
-    private View mViewCompayName;
-    @ViewInject(R.id.register_remark)
-    private View mViewRemark;
-    @ViewInject(R.id.register_choose_photo)
-    private ImageView register_choose_photo;
 
     private String[] countryWordData;
     private List<String> countryWordList;
@@ -104,60 +100,119 @@
     protected void initViews(View view, Bundle savedInstanceState) {
         mBaseLayout = (LinearLayout) view.findViewById(R.id.fragment_register_linear_layout);
         ViewUtils.inject(this, mBaseLayout);
-
-        genderTv = (TextView) mViewSex.findViewById(R.id.register_tv_content);
-        countryTv = (TextView) mViewNation.findViewById(R.id.register_tv_content);
-        birthdayTv= (TextView) mViewBirthday.findViewById(R.id.register_tv_content);
-        isitorvTypeTv = (TextView) mViewVisitorClass.findViewById(R.id.register_tv_content);
-       // mViewIdentityTypeContent = (TextView) mViewIdClass.findViewById(R.id.register_tv_content);
-        nameEt = (EditText) mViewName.findViewById(R.id.register_et_content);
-        phoneEt = (EditText) mViewPhone.findViewById(R.id.register_et_content);
-        identifyEt = (EditText) mViewIdNumber.findViewById(R.id.register_et_content);
-        companyEt = (EditText) mViewCompayName.findViewById(R.id.register_et_content);
-        mViewRemarkContent = (EditText) mViewRemark.findViewById(R.id.register_et_content);
-
-        ((TextView) mViewName.findViewById(R.id.register_et_title)).setText(R.string.title_name);
-        ((TextView) mViewSex.findViewById(R.id.register_tv_title)).setText(R.string.title_sex);
-        ((TextView) mViewNation.findViewById(R.id.register_tv_title)).setText(R.string.title_nation);
-        ((TextView) mViewBirthday.findViewById(R.id.register_tv_title)).setText(R.string.title_birthday);
-        ((TextView) mViewVisitorClass.findViewById(R.id.register_tv_title)).setText(R.string.title_visitorClass);
-        ((TextView) mViewPhone.findViewById(R.id.register_et_title)).setText(R.string.title_phone);
-        ((TextView) mViewIdClass.findViewById(R.id.register_tv_title)).setText(R.string.title_idClass);
-        ((TextView) mViewIdNumber.findViewById(R.id.register_et_title)).setText(R.string.title_idNumber);
-        ((TextView) mViewCompayName.findViewById(R.id.register_et_title)).setText(R.string.title_companyName);
-        ((TextView) mViewRemark.findViewById(R.id.register_et_title)).setText(R.string.title_remark);
     }
 
-    @OnClick(R.id.register_save)
-    public void registerEdit(View view) {
+    @OnClick(R.id.fragment_register_save)
+    public void fragment_register_save_click(View view) { }
 
-    }
-
-    @OnClick(R.id.register_add)
-    public void registerAdd(View v) {
+    @OnClick(R.id.fragment_register_add)
+    public void fragment_register_add_click(View v) {
         RequestParams params = new RequestParams();
 
-        params.addBodyParameter(Person.FieldNames.name, nameEt.getText().toString());
-        params.addBodyParameter(Person.FieldNames.phone, phoneEt.getText().toString());
-        params.addBodyParameter(Person.FieldNames.gender, DictionaryMng.getInstance().getId(genderTv.getText().toString()));
-        params.addBodyParameter(Person.FieldNames.identityType, DictionaryMng.getInstance().getId(identityTypeTv.getText().toString()));
-        params.addBodyParameter(Person.FieldNames.country, DictionaryMng.getInstance().getId(countryTv.getText().toString()));
-        params.addBodyParameter(Person.FieldNames.identify, identifyEt.getText().toString());
-        params.addBodyParameter(Person.FieldNames.birthday, birthdayTv.getText().toString());
-        params.addBodyParameter("companyName", companyEt.getText().toString());
+        params.addBodyParameter(Person.FieldNames.name, register_name.getValue());
+        params.addBodyParameter(Person.FieldNames.phone, register_phone.getValue());
+        params.addBodyParameter(Person.FieldNames.gender, DictionaryMng.getInstance().getId(register_gender.getValue()));
+        params.addBodyParameter(Person.FieldNames.identityType, DictionaryMng.getInstance().getId(register_id_class.getValue()));
+        params.addBodyParameter(Person.FieldNames.country, DictionaryMng.getInstance().getId(register_country.getValue()));
+        params.addBodyParameter(Person.FieldNames.identify, register_id_num.getValue());
+        params.addBodyParameter(Person.FieldNames.birthday, register_birthday.getValue());
+        params.addBodyParameter("companyName", register_company.getValue());
 
         //visitor_type
-        params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString()));
+        //params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString()));
         params.addBodyParameter(VisitPersonType.FieldNames.registerCompanyId, "0");
 
         RegisterMng.getInstance().add(params);
     }
 
-    @Override
-    protected void initData() {
-//        mVisitorTypeList = VisitorTypeMng.mVisitorTypeList;
-//        mSexList = DictionaryMng.mSexList;
-//        mCredentialsList = DictionaryMng.mCredentialsList;
+    @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);
+        popup.addOkButtonClickedListener(new OkButtonClickedListener() {
+            @Override
+            public void onItemSelected(int position, Object o, String item) {
+                register_gender.setValue(item);
+            }
+        });
+    }
+
+    @OnClick(R.id.register_country)
+    public void register_country_click(View view) {
+        CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(),
+                countryWordData,countryWordList,countryData);
+        countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
+        countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() {
+            @Override
+            public void onItemSelected(int position, Object o, String item) {
+                register_country.setValue(item);
+            }
+        });
+    }
+
+    @OnClick(R.id.register_birthday)
+    public void register_birthday_click(View view) {
+        Date date = new Date();
+        BirthdayPickerDialog myDatePickerDialog=new BirthdayPickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar,
+                new BirthdayPickerDialog.OnDateSetListener(){
+
+                    @Override
+                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
+                        int month=monthOfYear+1;
+                        register_birthday.setValue(year+"-"+month+"-"+dayOfMonth);
+                    }
+                },date);
+        myDatePickerDialog.myShow();
+    }
+
+    @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);
+        popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
+            @Override
+            public void onItemSelected(int position, Object o, String item) {
+                register_visitor_class.setValue(item);
+            }
+        });
+    }
+
+    @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);
+        popup2.addOkButtonClickedListener(new OkButtonClickedListener() {
+            @Override
+            public void onItemSelected(int position, Object o, String item) {
+                register_id_class.setValue(item);
+            }
+        });
+    }
+
+    /**
+     * 閫夋嫨浜虹墿蹇収
+     * @param view
+     */
+    @OnClick(R.id.fragment_register_choose_photo)
+    public void fragment_register_choose_photo_click(View view) {
+        Toast.makeText(getActivity(), "閫夋嫨浜虹墿蹇収", Toast.LENGTH_SHORT).show();
+    }
+
+    /**
+     * 鐐瑰嚮涓婁紶鍥剧墖
+     * @param view
+     */
+    @OnClick(R.id.fragment_register_update__photo)
+    public void fragment_register_update__photo_click(View view) {
+        Intent intent = new Intent();
+        intent.setType("image/*");
+        intent.setAction(Intent.ACTION_GET_CONTENT);
+        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), PICK_IMAGE_REQUEST);
+    }
+
+    @OnClick(R.id.fragment_register_back)
+    public void back(View view) {
+        MainActivity.selectPage(0);
     }
 
     public void setVisitorTypeList(List visitorTypeList) {
@@ -172,112 +227,22 @@
         this.mCredentialsList = credentialsList;
     }
 
-    @OnClick(R.id.register_gender)
-    public void selectGender(View view) {
-        SingleSelectionDialog popup = new SingleSelectionDialog(getActivity(),mSexList,"鎬у埆");
-        popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
-        popup.addOkButtonClickedListener(new OkButtonClickedListener() {
-            @Override
-            public void onItemSelected(int position, Object o, String item) {
-                genderTv.setText(item);
-            }
-        });
-    }
-
     public void setCountryData(String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) {
         this.countryData = countryData;
         this.countryWordList = countryWordList;
         this.countryData = countryData;
     }
 
-    @OnClick(R.id.register_country)
-    public void selectCountry(View view) {
-        CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(),
-                countryWordData,countryWordList,countryData);
-        countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
-        countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() {
-            @Override
-            public void onItemSelected(int position, Object o, String item) {
-                countryTv.setText(item);
-            }
-        });
-    }
-
-    @OnClick(R.id.register_birthday)
-    public void selectBirthday(View view) {
-        Date date = new Date();
-        BirthdayPickerDialog myDatePickerDialog=new BirthdayPickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar,
-                new BirthdayPickerDialog.OnDateSetListener(){
-
-                    @Override
-                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
-                        int month=monthOfYear+1;
-                        birthdayTv.setText(year+"-"+month+"-"+dayOfMonth);
-                    }
-                },date);
-        myDatePickerDialog.myShow();
-    }
-
-    @OnClick(R.id.register_visitor_class)
-    public void selectVisitorType(View view) {
-        SingleSelectionDialog popup1 = new SingleSelectionDialog(getActivity(),mVisitorTypeList,"璁垮绫诲瀷");
-        popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
-        popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
-            @Override
-            public void onItemSelected(int position, Object o, String item) {
-                isitorvTypeTv.setText(item);
-            }
-        });
-    }
-
-    @OnClick(R.id.register_id_class)
-    public void selectIdentityType(View view) {
-        SingleSelectionDialog popup2 = new SingleSelectionDialog(getActivity(),mCredentialsList,"璇佷欢绫诲瀷");
-        popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
-        popup2.addOkButtonClickedListener(new OkButtonClickedListener() {
-            @Override
-            public void onItemSelected(int position, Object o, String item) {
-                identityTypeTv.setText(item);
-            }
-        });
-    }
-
-    /**
-     * 閫夋嫨浜虹墿蹇収
-     * @param view
-     */
-    @OnClick(R.id.register_choose_photo)
-    public void selectPersonPhoto(View view) {
-        Toast.makeText(getActivity(), "閫夋嫨浜虹墿蹇収", Toast.LENGTH_SHORT).show();
-    }
-
-    /**
-     * 鐐瑰嚮涓婁紶鍥剧墖
-     * @param view
-     */
-    @OnClick(R.id.register_update__photo)
-    public void clickUploadPhoto(View view) {
-        Intent intent = new Intent();
-        intent.setType("image/*");
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), PICK_IMAGE_REQUEST);
-    }
-
-    @ViewInject(R.id.register_update__photo)
-    private ImageView ploadPhotoIv;
-
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
 
         if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
-
             Uri uri = data.getData();
-
             try {
                 Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                 // Log.d(TAG, String.valueOf(bitmap));u
-                ploadPhotoIv.setImageBitmap(bitmap);
+                fragment_register_update__photo.setImageBitmap(bitmap);
 //                ImageView imageView = (ImageView) findViewById(R.id.imageView);
 //                imageView.setImageBitmap(bitmap);
             } catch (IOException e) {
@@ -290,21 +255,15 @@
      * 璇佷欢蹇収
      * @param view
      */
-    @OnClick(R.id.register_idcard_photo)
+    @OnClick(R.id.fragment_register_idcard_photo)
     public void identityPhoto(View view) {
         Toast.makeText(getActivity(), "璇佷欢蹇収", Toast.LENGTH_SHORT).show();
-    }
-
-    @OnClick(R.id.fragment_register_back)
-    public void back(View view) {
-        MainActivity.selectPage(0);
     }
 
     @Override
     public void onClick(View v) {}
 
-
     public void setRegisterInfo(CheckInQueryItem item) {
-        register_choose_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE + item.getImagePath()));
+        fragment_register_choose_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE + item.getImagePath()));
     }
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldLabelView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldLabelView.java
new file mode 100644
index 0000000..e8034b8
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldLabelView.java
@@ -0,0 +1,80 @@
+package cn.com.basic.face.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bsk.zhangbo.demoforbsk.R;
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
+
+import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.util.WindowsUtil;
+
+public class RegisterRightFieldLabelView extends LinearLayout {
+
+    @ViewInject(R.id.fragment_register_right_label_label)
+    private TextView fragment_register_right_label_label;
+
+    @ViewInject(R.id.fragment_register_right_label_text)
+    private TextView fragment_register_right_label_text;
+
+    public RegisterRightFieldLabelView(Context context) {
+        super(context);
+        init();
+    }
+
+    public RegisterRightFieldLabelView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RegisterRightFieldTextView, 0, 0);
+
+        String label = a.getString(R.styleable.RegisterRightFieldTextView_label);
+
+        fragment_register_right_label_label.setText(label);
+
+        String text = a.getString(R.styleable.RegisterRightFieldTextView_text);
+        fragment_register_right_label_text.setText(text);
+    }
+
+    public RegisterRightFieldLabelView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    public RegisterRightFieldLabelView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    public void setLabel(String label) {
+        fragment_register_right_label_label.setText(label);
+    }
+
+    public void setText(String text) {
+        fragment_register_right_label_text.setText(text);
+    }
+
+    public String getText() {
+        return fragment_register_right_label_text.getText().toString();
+    }
+
+    private void init() {
+        View view = inflate(getContext(), R.layout.fragment_register_right_label, this);
+        ViewUtils.inject(this, view);
+    }
+
+    public String getValue() {
+        return fragment_register_right_label_text.getText().toString().trim();
+    }
+
+    public void setValue(String value) {
+        fragment_register_right_label_text.setText(value);
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldTextView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldTextView.java
new file mode 100644
index 0000000..46e62dc
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/RegisterRightFieldTextView.java
@@ -0,0 +1,75 @@
+package cn.com.basic.face.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bsk.zhangbo.demoforbsk.R;
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
+
+public class RegisterRightFieldTextView extends LinearLayout {
+
+    @ViewInject(R.id.fragment_register_right_field_label)
+    private TextView fragment_register_right_field_label;
+
+    @ViewInject(R.id.fragment_register_right_field_text)
+    private EditText fragment_register_right_field_text;
+
+    public RegisterRightFieldTextView(Context context) {
+        super(context);
+        init();
+    }
+
+    public RegisterRightFieldTextView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RegisterRightFieldTextView, 0, 0);
+
+        String label = a.getString(R.styleable.RegisterRightFieldTextView_label);
+
+        fragment_register_right_field_label.setText(label);
+
+        String text = a.getString(R.styleable.RegisterRightFieldTextView_text);
+        fragment_register_right_field_text.setText(text);
+    }
+
+    public RegisterRightFieldTextView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    public RegisterRightFieldTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    public void setLabel(String label) {
+        fragment_register_right_field_label.setText(label);
+    }
+
+    public void setText(String text) {
+        fragment_register_right_field_text.setText(text);
+    }
+
+    public String getText() {
+        return fragment_register_right_field_text.getText().toString();
+    }
+
+    private void init() {
+        View view = inflate(getContext(), R.layout.fragment_register_right_field, this);
+        ViewUtils.inject(this, view);
+    }
+
+    public String getValue() {
+        return fragment_register_right_field_text.getText().toString().trim();
+    }
+
+    public void setValue(String value) {
+        fragment_register_right_field_text.setText(value);
+    }
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml
index 2ef8512..e1d68a9 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    xmlns:register="http://schemas.android.com/apk/res-auto"
     android:id="@+id/fragment_register_linear_layout"
     android:orientation="vertical" android:layout_width="match_parent"
     android:background="@android:color/white"
@@ -49,7 +50,7 @@
                         android:layout_height="20dp" />
                         -->
                     <TextView
-                        android:id="@+id/register_add"
+                        android:id="@+id/fragment_register_add"
                         android:layout_width="40dp"
                         android:layout_height="36dp"
                         android:gravity="center"
@@ -58,7 +59,7 @@
                         android:background="@drawable/main_btn_bcg"
                         android:text="娣诲姞"/>
                     <TextView
-                        android:id="@+id/register_save"
+                        android:id="@+id/fragment_register_save"
                         android:layout_width="40dp"
                         android:layout_height="36dp"
                         android:gravity="center"
@@ -70,7 +71,6 @@
                 </LinearLayout>
             </RelativeLayout>
 
-
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -79,7 +79,7 @@
                 android:orientation="horizontal">
 
                 <com.facebook.drawee.view.SimpleDraweeView
-                    android:id="@+id/register_choose_photo"
+                    android:id="@+id/fragment_register_choose_photo"
                     android:layout_width="147dp"
                     android:layout_height="206dp"
                     android:gravity="center"
@@ -94,7 +94,7 @@
                     android:textColor="@android:color/white"
                     android:gravity="center"/>-->
                 <ImageView
-                    android:id="@+id/register_update__photo"
+                    android:id="@+id/fragment_register_update__photo"
                     android:layout_width="147dp"
                     android:layout_height="206dp"
                     android:background="@drawable/normal_choose_bcg"
@@ -105,7 +105,7 @@
                     android:textColor="@android:color/white"
                     android:gravity="center"/>
                 <TextView
-                    android:id="@+id/register_idcard_photo"
+                    android:id="@+id/fragment_register_idcard_photo"
                     android:layout_width="330dp"
                     android:layout_height="206dp"
                     android:background="@drawable/normal_choose_bcg"
@@ -124,54 +124,72 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:orientation="vertical">
-
-                    <include layout="@layout/fragment_register_right_field"
+                    <cn.com.basic.face.widget.RegisterRightFieldTextView
                         android:id="@+id/register_name"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_label"
+                        android:layout_width="278dp"
+                        register:label="@string/title_name"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_gender"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_label"
+                        android:layout_width="278dp"
+                        register:label="@string/title_sex"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_country"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_label"
+                        android:layout_width="278dp"
+                        register:label="@string/title_nation"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_birthday"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_label"
+                        android:layout_width="278dp"
+                        register:label="@string/title_birthday"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_visitor_class"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
+                        android:layout_width="278dp"
+                        register:label="@string/title_visitorClass"
+                        />
                 </LinearLayout>
                 <LinearLayout
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="122dp"
                     android:orientation="vertical">
-
-                    <include layout="@layout/fragment_register_right_field"
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_phone"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_label"
+                        android:layout_width="278dp"
+                        register:label="@string/title_phone"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_id_class"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_field"
+                        android:layout_width="278dp"
+                        register:label="@string/title_idClass"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_id_num"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_field"
+                        android:layout_width="278dp"
+                        register:label="@string/title_idNumber"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_company"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
-                    <include layout="@layout/fragment_register_right_field"
+                        android:layout_width="278dp"
+                        register:label="@string/title_companyName"
+                        />
+                    <cn.com.basic.face.widget.RegisterRightFieldLabelView
                         android:id="@+id/register_remark"
                         android:layout_height="wrap_content"
-                        android:layout_width="278dp"/>
+                        android:layout_width="278dp"
+                        register:label="@string/title_remark"
+                        />
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_field.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_field.xml
index c57478b..bcb8cae 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_field.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_field.xml
@@ -2,7 +2,8 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" android:layout_width="match_parent"
     android:duplicateParentState="true"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    >
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="61dp"
@@ -11,12 +12,12 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:id="@+id/register_et_title"
+            android:id="@+id/fragment_register_right_field_label"
             android:textColor="@color/colorText_5"
             android:textSize="@dimen/text_size_normal"
             android:text=""/>
         <EditText
-            android:id="@+id/register_et_content"
+            android:id="@+id/fragment_register_right_field_text"
             android:background="@null"
             android:paddingLeft="24dp"
             android:textSize="@dimen/text_size_normal"
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_label.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_label.xml
index 394ed98..d55055c 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_label.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register_right_label.xml
@@ -11,12 +11,12 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:id="@+id/register_tv_title"
+            android:id="@+id/fragment_register_right_label_label"
             android:textColor="@color/colorText_5"
             android:textSize="@dimen/text_size_normal"
             android:text=""/>
         <TextView
-            android:id="@+id/register_tv_content"
+            android:id="@+id/fragment_register_right_label_text"
             android:background="@null"
             android:paddingLeft="24dp"
             android:textSize="@dimen/text_size_normal"
diff --git a/VisitFace/DemoForBsk/app/src/main/res/values/attrs.xml b/VisitFace/DemoForBsk/app/src/main/res/values/attrs.xml
index fd1edef..7ab4b1d 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/values/attrs.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/values/attrs.xml
@@ -11,4 +11,8 @@
         <attr name="vLeftTextColor" format="color"/>
         <attr name="vBackgroundColor" format="color"/>
     </declare-styleable>
+    <declare-styleable name="RegisterRightFieldTextView">
+        <attr name="label" format="string"/>
+        <attr name="text" format="string"/>
+    </declare-styleable>
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0