Bladeren bron

信用卡模块UI完成

guoxin 8 jaren geleden
bovenliggende
commit
e9ae9c22fc
53 gewijzigde bestanden met toevoegingen van 3324 en 30 verwijderingen
  1. 50 28
      app/build.gradle
  2. 9 0
      app/src/main/AndroidManifest.xml
  3. 24 0
      app/src/main/assets/agreement_application_guide.html
  4. 25 0
      app/src/main/assets/agreement_declaration_applicant.html
  5. 101 0
      app/src/main/assets/agreement_recipients_contract.html
  6. 804 0
      app/src/main/assets/agreement_sesame_credit.html
  7. 63 0
      app/src/main/java/com/sheep/groups/creditcard/AgreementCreditCardDialog.java
  8. 124 0
      app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardActivity.java
  9. 203 0
      app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardBasicInfoFragment.java
  10. 40 0
      app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardCommitFragment.java
  11. 76 0
      app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardDetailsFragment.java
  12. 58 0
      app/src/main/java/com/sheep/groups/creditcard/CreditCardConfirmDialog.java
  13. 199 0
      app/src/main/java/com/sheep/groups/creditcard/CreditCardDisplayFragment.java
  14. 13 0
      app/src/main/java/com/sheep/groups/creditcard/ListPopuWindow.java
  15. 9 0
      app/src/main/java/com/sheep/groups/creditcard/OnNextStepCallback.java
  16. 5 0
      app/src/main/res/color/gx_s_credit_card_card_type_btn_text.xml
  17. 5 0
      app/src/main/res/color/gx_s_credit_card_step_text.xml
  18. BIN
      app/src/main/res/drawable-xxhdpi/ic_credit_card_close.png
  19. BIN
      app/src/main/res/drawable-xxhdpi/ic_credit_left_black_arrow.png
  20. BIN
      app/src/main/res/drawable-xxhdpi/ic_credit_left_blue_arrow.png
  21. BIN
      app/src/main/res/drawable-xxhdpi/ic_credit_right_black_arrow.png
  22. BIN
      app/src/main/res/drawable-xxhdpi/ic_credit_right_blue_arrow.png
  23. BIN
      app/src/main/res/drawable-xxhdpi/ic_discounts.png
  24. BIN
      app/src/main/res/drawable-xxhdpi/ic_gold_credit_card_1.jpg
  25. BIN
      app/src/main/res/drawable-xxhdpi/ic_gold_credit_card_2.png
  26. BIN
      app/src/main/res/drawable-xxhdpi/ic_normal_credit_card1.png
  27. BIN
      app/src/main/res/drawable-xxhdpi/ic_normal_credit_card2.png
  28. 10 0
      app/src/main/res/drawable/gx_bg_credit_card_white_corner.xml
  29. 10 0
      app/src/main/res/drawable/gx_bg_dialog_white_with_coner.xml
  30. 10 0
      app/src/main/res/drawable/gx_bg_line.xml
  31. 16 0
      app/src/main/res/drawable/gx_btn_credit_card_comfirm.xml
  32. 12 0
      app/src/main/res/drawable/gx_credit_card_btn_gradient_blue.xml
  33. 20 0
      app/src/main/res/drawable/gx_credit_card_radiobtn.xml
  34. 22 0
      app/src/main/res/drawable/gx_s_bg_credit_card_step_cycle.xml
  35. 10 0
      app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_corner_left.xml
  36. 10 0
      app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_corner_right.xml
  37. 6 0
      app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_no_corner.xml
  38. 22 0
      app/src/main/res/drawable/gx_s_bg_credit_card_step_line.xml
  39. 38 0
      app/src/main/res/drawable/gx_s_credit_card_card_type_btn.xml
  40. 99 0
      app/src/main/res/layout/activity_apply_for_credit_card.xml
  41. 37 0
      app/src/main/res/layout/dialog_credit_card_agreement.xml
  42. 43 0
      app/src/main/res/layout/dialog_credit_card_comfirm.xml
  43. 157 0
      app/src/main/res/layout/fragment_apply_for_credit_card_basic_info.xml
  44. 261 0
      app/src/main/res/layout/fragment_apply_for_credit_card_commit.xml
  45. 374 0
      app/src/main/res/layout/fragment_apply_for_credit_card_details.xml
  46. 8 0
      app/src/main/res/layout/fragment_credit_card_display.xml
  47. 13 0
      app/src/main/res/layout/spinner_text_item.xml
  48. 44 0
      app/src/main/res/layout/viewpager_item_credit_card_display.xml
  49. 25 0
      app/src/main/res/values/gx_strings.xml
  50. 166 0
      app/src/main/res/values/styles.xml
  51. 1 1
      kfzslibrary/build.gradle
  52. 1 1
      kfzslibrary/src/main/java/com/kfzs/libs/dialog/BaseDialogFragment.java
  53. 101 0
      kfzslibrary/src/main/java/com/kfzs/libs/widget/CompleteCommitEditText.java

+ 50 - 28
app/build.gradle

@@ -67,10 +67,10 @@ android {
     productFlavors {
         sheeptest {
             applicationId "com.sheep.jiuyan.samllsheep"
-            manifestPlaceholders = [UMENG_CHANNEL_VALUE   : "sheeptest",
-                                    DUANDUAN_GRAPH        : "sheeptest",
-                                    DUANDUAN_DATASHARE    : "sheeptest",
-                                    UMENG_APPKEY          : "58edcfeb310c93091c000be2"
+            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "sheeptest",
+                                    DUANDUAN_GRAPH     : "sheeptest",
+                                    DUANDUAN_DATASHARE : "sheeptest",
+                                    UMENG_APPKEY       : "58edcfeb310c93091c000be2"
             ]
             buildConfigField "String", "DUANDUAN_DATASHARE", '"sheeptest"'
             buildConfigField "String", "DUANDUAN_GRAPH", '"sheeptest"'
@@ -86,10 +86,10 @@ android {
         sheep {
             applicationId "com.sheep.jiuyan.samllsheep"
 //            applicationId "com.kfzs.duanduan.bandaimi"
-            manifestPlaceholders = [UMENG_CHANNEL_VALUE   : "sheep",
-                                    DUANDUAN_GRAPH        : "sheep",
-                                    DUANDUAN_DATASHARE    : "sheep",
-                                    UMENG_APPKEY          : "58edcfeb310c93091c000be2"
+            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "sheep",
+                                    DUANDUAN_GRAPH     : "sheep",
+                                    DUANDUAN_DATASHARE : "sheep",
+                                    UMENG_APPKEY       : "58edcfeb310c93091c000be2"
             ]
             buildConfigField "String", "DUANDUAN_DATASHARE", '"sheep"'
             buildConfigField "String", "DUANDUAN_GRAPH", '"sheep"'
@@ -116,9 +116,10 @@ dependencies {
     compile 'com.android.support:design:27.1.0'
     compile 'com.android.support.constraint:constraint-layout:1.0.2'
     testCompile 'junit:junit:4.12'
+
     //    compile 'com.shark:screencapture:1.0.0'
     compile 'com.google.code.gson:gson:2.8.2'
-    compile ('com.jcodecraeer:xrecyclerview:1.5.2'){
+    compile('com.jcodecraeer:xrecyclerview:1.5.2') {
         exclude group: 'com.android.support', module: 'design'
     }
     compile 'com.squareup.okhttp3:okhttp:3.10.0'
@@ -126,51 +127,63 @@ dependencies {
     compile 'com.zhy:base-adapter:3.0.3'
     compile 'com.liulishuo.filedownloader:library:1.6.9'
     compile 'com.tencent.bugly:crashreport_upgrade:1.3.4'
+
     //其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
     compile 'com.tencent.bugly:nativecrashreport:3.3.1'
+
     //其中latest.release指代最
-//    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
-    debugCompile ('com.readystatesoftware.chuck:library:1.1.0'){
+
+    //    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+    debugCompile('com.readystatesoftware.chuck:library:1.1.0') {
         exclude group: 'com.android.support', module: 'design'
     }
     compile 'de.hdodenhof:circleimageview:2.2.0'
-    releaseCompile ('com.readystatesoftware.chuck:library-no-op:1.1.0'){
+    releaseCompile('com.readystatesoftware.chuck:library-no-op:1.1.0') {
         exclude group: 'com.android.support', module: 'design'
     }
     compile 'org.xutils:xutils:3.5.0'
     compile 'com.mylhyl:acp:1.1.7'
 //    compile 'cn.yipianfengye.android:zxing-library:2.2'
     compile 'com.github.huburt-Hu:NewbieGuide:v1.2.0'
-    debugCompile 'com.android.support:multidex:1.0.1'//不要修改这里,相信我
+    debugCompile 'com.android.support:multidex:1.0.1'
+
+    //不要修改这里,相信我
     releaseCompile 'com.android.support:multidex:1.0.3'
     compile(name: 'com.kfzs.safe', ext: 'aar')
 
     //butterknife
     compile 'com.jakewharton:butterknife:8.8.1'
     annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
+
     //dagger2
-//    compile 'com.google.dagger:dagger:+'
-//    compile 'com.google.dagger:dagger-compiler:+'
+
+    //    compile 'com.google.dagger:dagger:+'
+
+    //    compile 'com.google.dagger:dagger-compiler:+'
     provided 'org.glassfish:javax.annotation:10.0-b28'
     compile 'com.google.dagger:dagger:2.12'
     annotationProcessor 'com.google.dagger:dagger-compiler:2.12'
+
     //retrofit
     compile 'com.squareup.retrofit2:retrofit:2.4.0'
     compile 'com.squareup.retrofit2:converter-gson:2.4.0'
     compile 'com.squareup.okhttp3:logging-interceptor:3.10.0'
-//    compile 'com.squareup.retrofit2:adapter-rxjava2:+'
+
+    //    compile 'com.squareup.retrofit2:adapter-rxjava2:+'
     compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
+
     //rxjava
     compile 'io.reactivex.rxjava2:rxandroid:2.0.2'
     compile 'io.reactivex.rxjava2:rxjava:2.1.12'
+
     //获取动态权限三方库
     compile 'pub.devrel:easypermissions:1.2.0'
-
     compile 'net.danlew:android.joda:2.9.3'
     compile 'com.orhanobut:logger:1.15'
 
     //友盟
     compile 'com.umeng.sdk:common:1.4.4'
+
     //compile 'com.umeng.sdk:analytics:latest.integration'
 
     //fast json
@@ -179,24 +192,31 @@ dependencies {
     //添加半袋米相关
     compile(name: 'appstoreutils', ext: 'aar')
     compile project(':view')
-//    compile(name: 'view-release', ext: 'aar')
 
+    //    compile(name: 'view-release', ext: 'aar')
     compile 'com.flipboard:bottomsheet-core:1.5.3'
     compile 'com.flipboard:bottomsheet-commons:1.5.3'
     compile 'com.google.protobuf:protobuf-java:3.2.0'
     compile 'com.umeng.analytics:analytics:6.0.9'
     compile(name: 'FileDownloader-1.0.0', ext: 'aar')
+
     //    compile files('libs/SocialSDK_QQ_Simplify.jar')
 
-//    compile files('libs/SocialSDK_Sina_Simplify.jar')
-//    compile files('libs/SocialSDK_WeChat_Simplify.jar')
-//    compile files('libs/umeng_shareboard_widget.jar')
-//    compile files('libs/umeng_social_api.jar')
-//    compile files('libs/umeng_social_net.jar')
-//    compile files('libs/umeng_social_shareboard.jar')
-//    compile files('libs/umeng_social_shareview.jar')
-//    compile files('libs/umeng_social_tool.jar')
+    //    compile files('libs/SocialSDK_Sina_Simplify.jar')
+
+    //    compile files('libs/SocialSDK_WeChat_Simplify.jar')
+
+    //    compile files('libs/umeng_shareboard_widget.jar')
+
+    //    compile files('libs/umeng_social_api.jar')
+
+    //    compile files('libs/umeng_social_net.jar')
 
+    //    compile files('libs/umeng_social_shareboard.jar')
+
+    //    compile files('libs/umeng_social_shareview.jar')
+
+    //    compile files('libs/umeng_social_tool.jar')
     compile files('libs/open_sdk_r5923_lite.jar')
     compile files('libs/wechat-sdk-android-with-mta-1.1.6.jar')
     compile files('libs/umeng_social_tool.jar')
@@ -206,10 +226,11 @@ dependencies {
     compile files('libs/umeng_shareboard_widget.jar')
     compile files('libs/SocialSDK_WeiXin_Full.jar')
     compile files('libs/SocialSDK_QQ_Full.jar')
-
     compile 'com.zhy:okhttputils:2.6.2'
+
     //    compile 'com.kf.framework:kf-utils:latest.integration@aar'
     compile 'com.kf.framework:kf-utils:1.4.5@aar'
+
     //    compile 'com.kf.framework:volleyplus:latest.integration@aar'
     compile 'com.kf.framework:volleyplus:1.4.5@aar'
     compile 'com.android.support:support-annotations:27.1.0'
@@ -224,5 +245,6 @@ dependencies {
     compile 'com.github.bumptech.glide:glide:4.1.1'
 //    compile 'com.github.yalantis:ucrop:2.2.1-native'
     compile project(':ucrop')
-
+    compile 'com.github.yalantis:ucrop:2.2.1-native'
+    compile project(':kfzslibrary')
 }

+ 9 - 0
app/src/main/AndroidManifest.xml

@@ -384,6 +384,15 @@
             android:screenOrientation="portrait"
             android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
 
+        <activity android:name="com.sheep.groups.creditcard.ApplyForCreditCardActivity"
+            android:screenOrientation="portrait"
+            >
+            <!--<intent-filter>-->
+                <!--<action android:name="android.intent.action.MAIN"/>-->
+                <!--<category android:name="android.intent.category.LAUNCHER"/>-->
+            <!--</intent-filter>-->
+        </activity>
+
         <!--友盟start-->
 
 

+ 24 - 0
app/src/main/assets/agreement_application_guide.html

@@ -0,0 +1,24 @@
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+</head>
+<body>
+<div class="page" id="page" style="padding:10px;color:#676767;">
+    <h3 align="center"><b>申请须知</b></h3>
+    <p>
+        一、本人同意并授权中国民生银行在业务办理、信贷审批、评估及贷后管理、争议处理期间,自本业务申请之日起至本业务结清之日整个管理过程中向中国人民银行金融信用信息基础数据库(以下称“人行数据库”)
+        、芝麻信用管理有限公司(《芝麻信用服务协议及授权条款》)及其他合作机构查询、留存、使用本人基本信息和信用报告。同时,授权中国民生银行将本人信用记录发送给人行数据库,并根据业务需要将本人基本信息发送给其他合作机构。 </p>
+    <p>
+        二、根据《非居民金融账户涉税信息尽职调查管理办法》,中国民生银行股份有限公司需在您开立账户时获取您的税收居民身份声明。目前民生信用卡网络办卡仅向持有在有效期内的二代身份证且为中国税收居民的客户开放申请(不包括临时身份证),持其他证件类型的客户请通过我行线下途径申请。</p>
+    <p>三、民生信用卡网络办卡须申请人本人亲自申请,申请人须对所填信息的真实性负责。</p>
+    <p>四、由他人代办信用卡、填写虚假申请信息或使用虚假资料申请等行为,申请人须承担涉嫌信用卡诈骗罪等刑事责任及后果。</p>
+    <p>五、民生信用卡申请为免费办理,请勿轻信任何网络代办信息,谨防上当受骗。</p>
+    <p>
+        六、申请人通过网络办卡渠道首次申请民生信用卡时,民生银行将依据我行审核规则对申请人填写的申请信息进行审核并确定本次申请的后续审批流程,审核结果以短信形式通知,届时请依照短信提示携带本人有效证件等材料前往账单地址所在城市民生银行营业网点办理身份确认等后续手续。</p>
+    <p>七、请确保您本次申请填写的地址信息真实可信,否则可能会导致您无法正常激活。</p>
+    <p>八、目前我行仅向在下拉列表中的城市提供网络申请服务,更多城市持续开放中。</p>
+    <p>九、如通过申请联名卡产品而同时成为相应合作商会员,须遵守合作商会员条款之规定。</p>
+</div>
+
+</body>
+</html>

File diff suppressed because it is too large
+ 25 - 0
app/src/main/assets/agreement_declaration_applicant.html


File diff suppressed because it is too large
+ 101 - 0
app/src/main/assets/agreement_recipients_contract.html


File diff suppressed because it is too large
+ 804 - 0
app/src/main/assets/agreement_sesame_credit.html


+ 63 - 0
app/src/main/java/com/sheep/groups/creditcard/AgreementCreditCardDialog.java

@@ -0,0 +1,63 @@
+package com.sheep.groups.creditcard;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.view.View;
+import android.webkit.WebView;
+import android.widget.ImageView;
+import com.kfzs.libs.dialog.BaseDialogFragment;
+import com.sheep.jiuyan.samllsheep.R;
+
+import butterknife.BindView;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class AgreementCreditCardDialog extends BaseDialogFragment{
+
+    private static final String HTML_URL = "htmlUrl";
+
+    @BindView(R.id.iv_close)
+    ImageView ivClose;
+    @BindView(R.id.webview)
+    WebView webView;
+
+
+    public static AgreementCreditCardDialog newInstance(String htmlUrl){
+        Bundle bundle = new Bundle();
+        bundle.putString(HTML_URL,htmlUrl);
+        AgreementCreditCardDialog dialog = new AgreementCreditCardDialog();
+        dialog.setArguments(bundle);
+        return dialog;
+    }
+
+
+    @Override
+    public int dialogContentViewLayoutId() {
+        return R.layout.dialog_credit_card_agreement;
+    }
+
+    @Override
+    public void setupContentView() {
+        setCancelable(false);
+        ivClose.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dismiss();
+            }
+        });
+
+        Bundle bundle = getArguments();
+        if (bundle != null) {
+            String url = bundle.getString(HTML_URL);
+            if(!TextUtils.isEmpty(url)){
+                webView.loadUrl("file:///android_asset/"+url);
+            }
+        }
+
+    }
+
+
+}

+ 124 - 0
app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardActivity.java

@@ -0,0 +1,124 @@
+package com.sheep.groups.creditcard;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Color;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.TextPaint;
+import android.text.method.LinkMovementMethod;
+import android.text.style.ClickableSpan;
+import android.text.style.ForegroundColorSpan;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.kfzs.libs.widget.navigation.Navigation;
+import com.kfzs.libs.widget.navigation.NavigationBar;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.lang.ref.WeakReference;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class ApplyForCreditCardActivity extends AppCompatActivity implements OnNextStepCallback{
+
+    public static final int STEP_BASICS = 0;
+    public static final int STEP_DETAILS = 1;
+    public static final int STEP_COMMIT = 2;
+
+    @BindView(R.id.navigationbar)
+    NavigationBar navigationBar;
+    @BindView(R.id.ll_credit_card_step1)
+    LinearLayout llStep1;
+    @BindView(R.id.ll_credit_card_step2)
+    LinearLayout llStep2;
+    @BindView(R.id.ll_credit_card_step3)
+    LinearLayout llStep3;
+    private ApplyForCreditCardBasicInfoFragment basicInfoFragment;
+    private ApplyForCreditCardDetailsFragment detailsFragment;
+    //
+    private int curStepType = STEP_BASICS;
+    private ApplyForCreditCardCommitFragment commitFragment;
+
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_apply_for_credit_card);
+        ButterKnife.bind(this);
+
+        navigationBar
+                .titleText("中国民生银行信用卡")
+                .titleTextSize(TypedValue.COMPLEX_UNIT_SP,17)
+                .titleTextColor(android.R.color.black)
+                .changeNavigationType(NavigationBar.IOS);
+
+        llStep1.setSelected(true);
+
+        basicInfoFragment = (ApplyForCreditCardBasicInfoFragment) getSupportFragmentManager().findFragmentByTag(ApplyForCreditCardBasicInfoFragment.class.getSimpleName());
+        if(savedInstanceState == null){
+            basicInfoFragment = new ApplyForCreditCardBasicInfoFragment();
+            getSupportFragmentManager()
+                    .beginTransaction()
+                    .add(R.id.fl_credit_card_container, basicInfoFragment,ApplyForCreditCardBasicInfoFragment.class.getSimpleName())
+                    .commit();
+        }
+
+    }
+
+
+
+    @Override
+    public void onNextStep(int stepType) {
+
+        switch (stepType){
+            case STEP_BASICS:
+                openDetails();
+                break;
+            case STEP_DETAILS:
+                openCommit();
+                break;
+            case STEP_COMMIT:
+                break;
+        }
+
+
+    }
+
+    private void openDetails(){
+        llStep2.setSelected(true);
+
+        detailsFragment = (ApplyForCreditCardDetailsFragment) getSupportFragmentManager().findFragmentByTag(ApplyForCreditCardDetailsFragment.class.getSimpleName());
+
+        if(detailsFragment == null){
+            detailsFragment = new ApplyForCreditCardDetailsFragment();
+        }
+
+        getSupportFragmentManager()
+                .beginTransaction()
+                .add(R.id.fl_credit_card_container,detailsFragment,ApplyForCreditCardDetailsFragment.class.getSimpleName())
+                .commit();
+    }
+
+    private void openCommit(){
+        llStep3.setSelected(true);
+
+        commitFragment = (ApplyForCreditCardCommitFragment) getSupportFragmentManager().findFragmentByTag(ApplyForCreditCardCommitFragment.class.getSimpleName());
+        if (commitFragment == null) {
+            commitFragment = new ApplyForCreditCardCommitFragment();
+        }
+
+        getSupportFragmentManager()
+                .beginTransaction()
+                .add(R.id.fl_credit_card_container,commitFragment,ApplyForCreditCardCommitFragment.class.getSimpleName())
+                .commit();
+    }
+}

+ 203 - 0
app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardBasicInfoFragment.java

@@ -0,0 +1,203 @@
+package com.sheep.groups.creditcard;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.app.AppCompatActivity;
+import android.text.SpannableString;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.TextPaint;
+import android.text.method.LinkMovementMethod;
+import android.text.style.ClickableSpan;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.kfzs.libs.DaggerFragment;
+import com.kfzs.libs.IPresenter;
+import com.kfzs.libs.IView;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.lang.ref.WeakReference;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class ApplyForCreditCardBasicInfoFragment extends DaggerFragment implements CreditCardConfirmDialog.OnComfirmCallback {
+
+
+    @BindView(R.id.tv_agreement)
+    TextView tvAgreement;
+    @BindView(R.id.btn_next)
+    Button btnNext;
+    @BindView(R.id.btn_card_normal)
+    Button btnCardNormal;
+    @BindView(R.id.btn_card_gold)
+    Button btnCardGold;
+
+    OnNextStepCallback onNextStepCallback;
+    private CreditCardDisplayFragment normalCardDisplayFragment;
+    private CreditCardDisplayFragment goldCardDisplayFragment;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        try {
+            onNextStepCallback = (OnNextStepCallback) context;
+        }
+        catch (ClassCastException e){
+        }
+    }
+
+    @Override
+    public void setupDaggerComponent() {
+
+    }
+
+    @Override
+    public IPresenter currentPresenter() {
+        return null;
+    }
+
+    @Override
+    public IView currentIView() {
+        return null;
+    }
+
+    @Override
+    public int layoutResId() {
+        return R.layout.fragment_apply_for_credit_card_basic_info;
+    }
+
+    @Override
+    public void setupViews(@Nullable Bundle savedInstanceState) {
+
+        SpannableStringBuilder builder = new SpannableStringBuilder();
+        builder.append("点击\"下一步\"意味着您已阅读、知晓并同意遵守中国民生银行信用卡");
+        //申请须知
+        createAgreement(builder,"《申请须知》","agreement_application_guide.html","、");
+        //领用合约
+        createAgreement(builder,"《领用合约》","agreement_recipients_contract.html","、");
+        //申请人声明
+        createAgreement(builder,"《申请人声明》","agreement_declaration_applicant.html","、");
+        //芝麻信用协议
+        createAgreement(builder,"《芝麻信用协议》","agreement_sesame_credit.html","及其他相关申请材料");
+        //
+        tvAgreement.setText(builder);
+        tvAgreement.setMovementMethod(LinkMovementMethod.getInstance());//加上这句话,点击才有效果
+
+        btnCardNormal.performClick();
+
+    }
+
+    private void createAgreement(SpannableStringBuilder strBuilder, String content, String linkedUrl, String sufixStr){
+        AgreementSpannableString agreement = new AgreementSpannableString(content);
+        agreement.initAgreementStyle((AppCompatActivity) activity,linkedUrl);
+        strBuilder.append(agreement);
+        strBuilder.append(sufixStr);
+    }
+
+    @Override
+    public void onConfirm() {
+        onNextStepCallback.onNextStep(ApplyForCreditCardActivity.STEP_BASICS);
+    }
+
+
+    public static class AgreementSpannableString extends SpannableString {
+
+        public AgreementSpannableString(CharSequence source) {
+            super(source);
+        }
+
+        public void initAgreementStyle(AppCompatActivity context, String linkedUrl){
+            setSpan(new Clickable(context,linkedUrl),0,length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        }
+    }
+
+    @OnClick({R.id.btn_next,R.id.btn_card_normal,R.id.btn_card_gold})
+    public void btnClick(View view){
+        switch (view.getId()){
+            case R.id.btn_next:
+                showConfirmDialog();
+
+                break;
+            case R.id.btn_card_normal:
+                selectNormalCard();
+                break;
+            case R.id.btn_card_gold:
+                selectGoldCard();
+                break;
+        }
+
+    }
+
+    private void selectNormalCard(){
+        btnCardNormal.setSelected(true);
+        btnCardGold.setSelected(false);
+
+        if(normalCardDisplayFragment == null){
+            normalCardDisplayFragment = CreditCardDisplayFragment.newInstance(CreditCardDisplayFragment.CARD_TYPE_NORMAL);
+        }
+
+        getChildFragmentManager()
+                .beginTransaction()
+                .replace(R.id.fl_credit_card_display_container,normalCardDisplayFragment)
+                .commit();
+    }
+    private void selectGoldCard(){
+        btnCardNormal.setSelected(false);
+        btnCardGold.setSelected(true);
+
+        if(goldCardDisplayFragment == null){
+            goldCardDisplayFragment = CreditCardDisplayFragment.newInstance(CreditCardDisplayFragment.CARD_TYPE_GOLD);
+        }
+        getChildFragmentManager()
+                .beginTransaction()
+                .replace(R.id.fl_credit_card_display_container,goldCardDisplayFragment)
+                .commit();
+    }
+
+    private void showConfirmDialog(){
+        new CreditCardConfirmDialog()
+                .setOnComfirmCallback(this)
+                .show(getChildFragmentManager(),CreditCardConfirmDialog.class.getSimpleName());
+    }
+
+
+
+    public static class Clickable extends ClickableSpan {
+
+        WeakReference<AppCompatActivity> activityWeakReference;
+        String linkedUrl;
+
+        public Clickable(AppCompatActivity activity, String linkedUrl){
+            activityWeakReference = new WeakReference<AppCompatActivity>(activity);
+            this.linkedUrl = linkedUrl;
+        }
+
+        @Override
+        public void onClick(View widget) {
+            AppCompatActivity activity = activityWeakReference.get();
+            if(activity != null){
+                AgreementCreditCardDialog.newInstance(linkedUrl)
+                        .show(activity.getSupportFragmentManager(),AgreementCreditCardDialog.class.getSimpleName());
+            }
+        }
+
+        @Override
+        public void updateDrawState(TextPaint ds) {
+            ds.setColor(Color.parseColor("#0089ee"));
+            ds.setUnderlineText(false);    //去除超链接的下划线
+        }
+    }
+
+
+
+}

+ 40 - 0
app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardCommitFragment.java

@@ -0,0 +1,40 @@
+package com.sheep.groups.creditcard;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+
+import com.kfzs.libs.DaggerFragment;
+import com.kfzs.libs.IPresenter;
+import com.kfzs.libs.IView;
+import com.sheep.jiuyan.samllsheep.R;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class ApplyForCreditCardCommitFragment extends DaggerFragment{
+    @Override
+    public void setupDaggerComponent() {
+
+    }
+
+    @Override
+    public IPresenter currentPresenter() {
+        return null;
+    }
+
+    @Override
+    public IView currentIView() {
+        return null;
+    }
+
+    @Override
+    public int layoutResId() {
+        return R.layout.fragment_apply_for_credit_card_commit;
+    }
+
+    @Override
+    public void setupViews(@Nullable Bundle savedInstanceState) {
+
+    }
+}

+ 76 - 0
app/src/main/java/com/sheep/groups/creditcard/ApplyForCreditCardDetailsFragment.java

@@ -0,0 +1,76 @@
+package com.sheep.groups.creditcard;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.AppCompatSpinner;
+import android.view.View;
+import android.widget.ArrayAdapter;
+
+import com.kfzs.libs.DaggerFragment;
+import com.kfzs.libs.IPresenter;
+import com.kfzs.libs.IView;
+import com.sheep.jiuyan.samllsheep.R;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class ApplyForCreditCardDetailsFragment extends DaggerFragment{
+
+    @BindView(R.id.sp_relationship_immediate_relatives)
+    AppCompatSpinner spRelationshipImmediateRelatives;
+    @BindView(R.id.sp_relationship_other)
+    AppCompatSpinner spRelationshipOther;
+
+    OnNextStepCallback onNextStepCallback;
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        try {
+            onNextStepCallback = (OnNextStepCallback) context;
+        }
+        catch (ClassCastException e){
+        }
+    }
+
+    @Override
+    public void setupDaggerComponent() {
+
+    }
+
+    @Override
+    public IPresenter currentPresenter() {
+        return null;
+    }
+
+    @Override
+    public IView currentIView() {
+        return null;
+    }
+
+    @Override
+    public int layoutResId() {
+        return R.layout.fragment_apply_for_credit_card_details;
+    }
+
+    @Override
+    public void setupViews(@Nullable Bundle savedInstanceState) {
+
+
+        ArrayAdapter<CharSequence> adapterImmediateRelatives = ArrayAdapter.createFromResource(activity, R.array.credit_card_relationship_immediate_relatives_type, R.layout.spinner_text_item);
+        spRelationshipImmediateRelatives.setAdapter(adapterImmediateRelatives);
+
+        ArrayAdapter<CharSequence> adapterOther = ArrayAdapter.createFromResource(activity, R.array.credit_card_relationship_other_type, R.layout.spinner_text_item);
+        spRelationshipOther.setAdapter(adapterOther);
+
+    }
+
+    @OnClick(R.id.btn_next)
+    public void btnClick(View view){
+        onNextStepCallback.onNextStep(ApplyForCreditCardActivity.STEP_DETAILS);
+    }
+}

+ 58 - 0
app/src/main/java/com/sheep/groups/creditcard/CreditCardConfirmDialog.java

@@ -0,0 +1,58 @@
+package com.sheep.groups.creditcard;
+
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+
+import com.kfzs.libs.dialog.BaseDialogFragment;
+import com.sheep.jiuyan.samllsheep.R;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class CreditCardConfirmDialog extends BaseDialogFragment {
+
+    @BindView(R.id.btn_confirm)
+    Button btnConfirm;
+    @BindView(R.id.iv_close)
+    ImageView ivClose;
+
+    OnComfirmCallback onComfirmCallback;
+
+    @Override
+    public int dialogContentViewLayoutId() {
+        return R.layout.dialog_credit_card_comfirm;
+    }
+
+    @Override
+    public void setupContentView() {
+        setCancelable(false);
+        ivClose.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dismiss();
+            }
+        });
+    }
+
+    @OnClick(R.id.btn_confirm)
+    public void btnClick(){
+        dismiss();
+        if (onComfirmCallback != null) {
+            onComfirmCallback.onConfirm();
+        }
+    }
+
+    public CreditCardConfirmDialog setOnComfirmCallback(OnComfirmCallback onComfirmCallback) {
+        this.onComfirmCallback = onComfirmCallback;
+        return this;
+    }
+
+    public interface OnComfirmCallback{
+        void onConfirm();
+    }
+}

+ 199 - 0
app/src/main/java/com/sheep/groups/creditcard/CreditCardDisplayFragment.java

@@ -0,0 +1,199 @@
+package com.sheep.groups.creditcard;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.kfzs.libs.DaggerFragment;
+import com.kfzs.libs.widget.loading.SupportLoadingFragment;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class CreditCardDisplayFragment extends SupportLoadingFragment {
+
+    public static final int CARD_TYPE_NORMAL = 0;
+    public static final int CARD_TYPE_GOLD = 1;
+
+    public static final int CARD_NORMAL_PAINT = 0;
+    public static final int CARD_NORMAL_MUSICAL = 1;
+    public static final int CARD_GOLD_PAINT = 2;
+    public static final int CARD_GOLD_MUSICAL = 3;
+
+    public static final String EXTRA_CARD_TYPE = "card_type";
+
+    /**
+     * 默认值
+     */
+    private int cardType = CARD_TYPE_NORMAL;
+    private int cardDetailType = CARD_NORMAL_PAINT;
+
+    @BindView(R.id.vp_credit_card_display)
+    ViewPager viewPager;
+
+    public static CreditCardDisplayFragment newInstance(int cardType){
+        Bundle bundle = new Bundle();
+        bundle.putInt(EXTRA_CARD_TYPE,cardType);
+        CreditCardDisplayFragment fragment = new CreditCardDisplayFragment();
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Override
+    public int layoutResId() {
+        return R.layout.fragment_credit_card_display;
+    }
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Bundle bundle = getArguments();
+        if (bundle != null) {
+            cardType = bundle.getInt(EXTRA_CARD_TYPE);
+        }
+        //根据type设置默认值
+        if(CARD_TYPE_NORMAL == cardType){
+            cardDetailType = CARD_NORMAL_PAINT;
+        }
+        else if(CARD_TYPE_GOLD == cardType){
+            cardDetailType = CARD_GOLD_PAINT;
+        }
+    }
+
+    @Override
+    public void setupViews(@Nullable Bundle savedInstanceState) {
+
+        List<View> views = new ArrayList<>(2);
+
+        View itemPre = LayoutInflater.from(activity).inflate(R.layout.viewpager_item_credit_card_display,null);
+        ImageView ivPrePre = itemPre.findViewById(R.id.iv_pre);
+        ImageView ivPreNext = itemPre.findViewById(R.id.iv_next);
+        ImageView ivPreCard = itemPre.findViewById(R.id.iv_card);
+        TextView tvPreDesc = itemPre.findViewById(R.id.tv_display_desc);
+        views.add(itemPre);
+
+        View itemNext = LayoutInflater.from(activity).inflate(R.layout.viewpager_item_credit_card_display,null);
+        ImageView ivNextPre = itemNext.findViewById(R.id.iv_pre);
+        ImageView ivNextNext = itemNext.findViewById(R.id.iv_next);
+        ImageView ivNextCard = itemNext.findViewById(R.id.iv_card);
+        TextView tvNextDesc = itemNext.findViewById(R.id.tv_display_desc);
+        views.add(itemNext);
+
+        ivPrePre.setImageResource(R.drawable.ic_credit_left_black_arrow);
+        ivPreNext.setImageResource(R.drawable.ic_credit_right_blue_arrow);
+        ivNextPre.setImageResource(R.drawable.ic_credit_left_blue_arrow);
+        ivNextNext.setImageResource(R.drawable.ic_credit_right_black_arrow);
+
+        if(CARD_TYPE_GOLD == cardType){
+            ivPreCard.setImageResource(R.drawable.ic_gold_credit_card_1);
+            ivNextCard.setImageResource(R.drawable.ic_gold_credit_card_2);
+            //
+            tvPreDesc.setText(R.string.desc_credit_card_gold_paint);
+            tvNextDesc.setText(R.string.desc_credit_card_gold_musical);
+        }
+        else if(CARD_TYPE_NORMAL == cardType){
+            ivPreCard.setImageResource(R.drawable.ic_normal_credit_card1);
+            ivNextCard.setImageResource(R.drawable.ic_normal_credit_card2);
+            //
+            tvPreDesc.setText(R.string.desc_credit_card_normal_paint);
+            tvNextDesc.setText(R.string.desc_credit_card_normal_musical);
+        }
+
+
+        ivPreNext.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewPager.setCurrentItem(1);
+            }
+        });
+
+        ivNextPre.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewPager.setCurrentItem(0);
+            }
+        });
+
+        CreditCardPagerAdapter adapter = new CreditCardPagerAdapter(views);
+        viewPager.setAdapter(adapter);
+        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+            }
+
+            @Override
+            public void onPageSelected(int position) {
+                if(0 == position){
+                    cardDetailType = cardType == CARD_TYPE_GOLD ? CARD_GOLD_PAINT : CARD_NORMAL_PAINT;
+                }
+                else if(1 == position){
+                    cardDetailType = cardType == CARD_TYPE_GOLD ? CARD_GOLD_MUSICAL : CARD_NORMAL_MUSICAL;
+                }
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int state) {
+
+            }
+        });
+
+    }
+
+
+    public int getCardDetailType() {
+        return cardDetailType;
+    }
+
+    public int getCardType() {
+        return cardType;
+    }
+
+    private static class CreditCardPagerAdapter extends PagerAdapter{
+
+        List<View> views;
+        public CreditCardPagerAdapter(List<View> list){
+            views = list;
+        }
+
+        @Override
+        public int getCount() {
+            return views == null ? 0 : views.size();
+        }
+
+        @Override
+        public boolean isViewFromObject(View arg0, Object arg1) {
+            return arg0 == arg1;
+        }
+
+        @Override
+        public void destroyItem(ViewGroup container, int position, Object object) {
+            container.removeView((View) object);
+        }
+
+        @Override
+        public Object instantiateItem(ViewGroup container, int position) {
+            container.addView(views.get(position));
+            return views.get(position);
+        }
+
+    }
+
+
+}

+ 13 - 0
app/src/main/java/com/sheep/groups/creditcard/ListPopuWindow.java

@@ -0,0 +1,13 @@
+package com.sheep.groups.creditcard;
+
+import android.widget.PopupWindow;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class ListPopuWindow extends PopupWindow{
+
+
+
+}

+ 9 - 0
app/src/main/java/com/sheep/groups/creditcard/OnNextStepCallback.java

@@ -0,0 +1,9 @@
+package com.sheep.groups.creditcard;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public interface OnNextStepCallback {
+    void onNextStep(int stepType);
+}

+ 5 - 0
app/src/main/res/color/gx_s_credit_card_card_type_btn_text.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true" android:color="#0089ee"/>
+    <item android:color="@android:color/black"/>
+</selector>

+ 5 - 0
app/src/main/res/color/gx_s_credit_card_step_text.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true" android:color="#0089ee"/>
+    <item android:color="#d4d4d4"/>
+</selector>

BIN
app/src/main/res/drawable-xxhdpi/ic_credit_card_close.png


BIN
app/src/main/res/drawable-xxhdpi/ic_credit_left_black_arrow.png


BIN
app/src/main/res/drawable-xxhdpi/ic_credit_left_blue_arrow.png


BIN
app/src/main/res/drawable-xxhdpi/ic_credit_right_black_arrow.png


BIN
app/src/main/res/drawable-xxhdpi/ic_credit_right_blue_arrow.png


BIN
app/src/main/res/drawable-xxhdpi/ic_discounts.png


BIN
app/src/main/res/drawable-xxhdpi/ic_gold_credit_card_1.jpg


BIN
app/src/main/res/drawable-xxhdpi/ic_gold_credit_card_2.png


BIN
app/src/main/res/drawable-xxhdpi/ic_normal_credit_card1.png


BIN
app/src/main/res/drawable-xxhdpi/ic_normal_credit_card2.png


+ 10 - 0
app/src/main/res/drawable/gx_bg_credit_card_white_corner.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid
+        android:color="@android:color/white"
+        />
+
+    <corners
+        android:radius="16dp"
+        />
+</shape>

+ 10 - 0
app/src/main/res/drawable/gx_bg_dialog_white_with_coner.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <corners
+        android:radius="10dp"
+        />
+    <solid
+        android:color="@android:color/white"
+        />
+</shape>

+ 10 - 0
app/src/main/res/drawable/gx_bg_line.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <solid
+        android:color="#f0f0f0"
+        />
+    <size
+        android:height="0.75dp"
+        />
+</shape>

+ 16 - 0
app/src/main/res/drawable/gx_btn_credit_card_comfirm.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <solid
+        android:color="@android:color/white"
+        />
+
+    <corners
+        android:radius="15dp"
+        />
+
+    <stroke
+        android:width="1dp"
+        android:color="#0089ee"
+        />
+</shape>

+ 12 - 0
app/src/main/res/drawable/gx_credit_card_btn_gradient_blue.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <gradient
+        android:startColor="#29d6fe"
+        android:endColor="#34a5e6"
+        />
+
+    <corners
+        android:radius="20dp"
+        />
+</shape>

+ 20 - 0
app/src/main/res/drawable/gx_credit_card_radiobtn.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_checked="true" android:state_enabled="true">
+        <shape android:shape="oval">
+            <solid android:color="#000000" />
+            <size android:width="11dp" android:height="11dp" />
+        </shape>
+    </item>
+
+    <item android:state_checked="false" android:state_enabled="true">
+        <shape android:shape="oval">
+            <solid android:color="#00ffffff" />
+            <stroke android:color="#b5b5b5" android:width="1dp" />
+            <size android:width="11dp" android:height="11dp" />
+        </shape>
+    </item>
+
+
+</selector>

+ 22 - 0
app/src/main/res/drawable/gx_s_bg_credit_card_step_cycle.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+    <item android:state_selected="true">
+        <shape android:shape="oval">
+            <solid
+                android:color="#0089ee"
+                />
+        </shape>
+
+    </item>
+    <item>
+        <shape android:shape="oval">
+            <solid
+                android:color="#d4d4d4"
+                />
+        </shape>
+
+    </item>
+
+</selector>

+ 10 - 0
app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_corner_left.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid
+        android:color="@android:color/white"
+        />
+    <corners
+        android:bottomLeftRadius="12dp"
+        android:topLeftRadius="12dp"
+        />
+</shape>

+ 10 - 0
app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_corner_right.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid
+        android:color="@android:color/white"
+        />
+    <corners
+        android:bottomRightRadius="12dp"
+        android:topRightRadius="12dp"
+        />
+</shape>

+ 6 - 0
app/src/main/res/drawable/gx_s_bg_credit_card_step_frame_no_corner.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid
+        android:color="@android:color/white"
+        />
+</shape>

+ 22 - 0
app/src/main/res/drawable/gx_s_bg_credit_card_step_line.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+    <item android:state_selected="true">
+        <shape >
+            <solid
+                android:color="#0089ee"
+                />
+        </shape>
+
+    </item>
+
+    <item>
+        <shape>
+            <solid
+                android:color="#d4d4d4"
+                />
+        </shape>
+
+    </item>
+</selector>

+ 38 - 0
app/src/main/res/drawable/gx_s_credit_card_card_type_btn.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_selected="true"
+        >
+        <shape>
+            <stroke
+                android:color="#0089ee"
+                android:width="1dp"
+                />
+            <corners
+                android:radius="5dp"
+                />
+            <solid
+                android:color="@android:color/white"
+                />
+        </shape>
+
+    </item>
+
+    <item
+        android:state_selected="false"
+        >
+        <shape>
+            <stroke
+                android:color="@android:color/black"
+                android:width="1dp"
+                />
+            <corners
+                android:radius="5dp"
+                />
+            <solid
+                android:color="@android:color/white"
+                />
+        </shape>
+
+    </item>
+</selector>

+ 99 - 0
app/src/main/res/layout/activity_apply_for_credit_card.xml

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#f3f3f3"
+    android:orientation="vertical"
+    tools:context="com.sheep.groups.creditcard.ApplyForCreditCardActivity">
+
+
+    <com.kfzs.libs.widget.navigation.NavigationBar
+        android:id="@+id/navigationbar"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:background="#ffffff" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:layout_marginTop="10dp"
+        android:layout_marginLeft="16dp"
+        android:layout_marginRight="16dp"
+        >
+        <LinearLayout
+            android:id="@+id/ll_credit_card_step1"
+            style="@style/creditCardStepItemStyle"
+            android:background="@drawable/gx_s_bg_credit_card_step_frame_corner_left">
+
+            <TextView
+                style="@style/creditCardStepItemTitleStyle"
+                android:text="选卡及基本信息" />
+
+            <RelativeLayout style="@style/creditCardStepLineFrameStyle">
+
+                <View style="@style/creditCardStepLineStyle" />
+
+                <TextView
+                    style="@style/creditCardStepIndexStyle"
+                    android:text="1" />
+
+            </RelativeLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/ll_credit_card_step2"
+            style="@style/creditCardStepItemStyle"
+            android:background="@drawable/gx_s_bg_credit_card_step_frame_no_corner">
+
+            <TextView
+                style="@style/creditCardStepItemTitleStyle"
+                android:text="详细信息" />
+
+            <RelativeLayout style="@style/creditCardStepLineFrameStyle">
+
+                <View style="@style/creditCardStepLineStyle" />
+
+                <TextView
+                    style="@style/creditCardStepIndexStyle"
+                    android:text="2" />
+
+            </RelativeLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/ll_credit_card_step3"
+            style="@style/creditCardStepItemStyle"
+            android:background="@drawable/gx_s_bg_credit_card_step_frame_corner_right">
+
+            <TextView
+                style="@style/creditCardStepItemTitleStyle"
+                android:text="确认提交" />
+
+            <RelativeLayout style="@style/creditCardStepLineFrameStyle">
+
+                <View style="@style/creditCardStepLineStyle" />
+
+                <TextView
+                    style="@style/creditCardStepIndexStyle"
+                    android:text="3" />
+
+            </RelativeLayout>
+        </LinearLayout>
+    </LinearLayout>
+
+    <FrameLayout
+        android:id="@+id/fl_credit_card_container"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:paddingLeft="16dp"
+        android:paddingRight="16dp"
+        android:paddingTop="16dp"
+        />
+
+
+
+
+</LinearLayout>

+ 37 - 0
app/src/main/res/layout/dialog_credit_card_agreement.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="340dp"
+    android:paddingLeft="25dp"
+    android:paddingRight="25dp"
+    >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="340dp"
+        android:layout_gravity="center"
+        android:background="@drawable/gx_bg_dialog_white_with_coner"
+        android:orientation="vertical"
+        android:paddingBottom="40dp">
+
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="32dp">
+
+            <ImageView
+                android:id="@+id/iv_close"
+                style="@style/creditCardDialogCloseStyle"
+                android:src="@drawable/ic_credit_card_close"
+                />
+        </RelativeLayout>
+
+        <WebView
+            android:id="@+id/webview"
+            android:layout_width="match_parent"
+            android:layout_height="250dp"
+             />
+
+    </LinearLayout>
+
+</FrameLayout>

+ 43 - 0
app/src/main/res/layout/dialog_credit_card_comfirm.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingLeft="25dp"
+    android:paddingRight="25dp"
+    >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:background="@drawable/gx_bg_dialog_white_with_coner"
+        android:orientation="vertical"
+        >
+
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="32dp">
+
+            <ImageView
+                android:id="@+id/iv_close"
+                android:src="@drawable/ic_credit_card_close"
+                style="@style/creditCardDialogCloseStyle" />
+        </RelativeLayout>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:text="本人同意并授权中国民生银行向中国人民银行金融信用基础数据库(人行数据库)查询、留存、使用本人基本信息和信用报告。"
+            />
+
+        <Button
+            android:id="@+id/btn_confirm"
+            android:text="本人确认及同意"
+            style="@style/creditCardConfirmBtnStyle" />
+
+    </LinearLayout>
+
+</FrameLayout>

+ 157 - 0
app/src/main/res/layout/fragment_apply_for_credit_card_basic_info.xml

@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#f4f4f4"
+    android:scrollbars="none">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingBottom="20dp">
+
+        <LinearLayout
+            style="@style/creditCardInputGroupStyle"
+            android:layout_marginTop="0dp"
+            android:orientation="vertical"
+            android:paddingBottom="12dp"
+            >
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="卡片选择" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <Button
+                    android:id="@+id/btn_card_normal"
+                    android:text="普卡"
+                    style="@style/creditCardCardTypeBtnStyle" />
+                <Button
+                    android:id="@+id/btn_card_gold"
+                    android:text="金卡"
+                    android:layout_marginLeft="25dp"
+                    style="@style/creditCardCardTypeBtnStyle" />
+            </LinearLayout>
+
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:id="@+id/fl_credit_card_display_container"
+                />
+
+        </LinearLayout>
+
+    <LinearLayout
+        style="@style/creditCardInputGroupStyle"
+        android:orientation="horizontal"
+        android:paddingTop="5dp"
+        android:paddingBottom="5dp"
+        >
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_discounts"
+            />
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="10dp"
+            android:text="首年免年费,当年刷卡消费5笔免次年年费"
+            />
+
+    </LinearLayout>
+
+    <LinearLayout
+            style="@style/creditCardInputGroupStyle"
+            >
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="基本信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="姓名" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请输入您的姓名" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="手机号" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请输入您的手机号"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="身份证" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:digits="@string/digits_id_no"
+                        android:hint="请输入您的身份证号码"
+                        android:maxLength="18" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="短信验证码" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请输入您的验证码"
+                        android:inputType="number"
+                        android:maxLength="6" />
+
+                    <TextView
+                        style="@style/creditCardInputItemDynamicStyle"
+                        android:text="获取验证码"
+
+                        />
+                </LinearLayout>
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <com.kfzs.libs.widget.alpha.AlphaButton
+            android:id="@+id/btn_next"
+            style="@style/creditCardBtnGradientStyle"
+            android:text="下一步" />
+
+        <TextView
+            android:id="@+id/tv_agreement"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:textSize="10sp" />
+
+    </LinearLayout>
+
+</ScrollView>

+ 261 - 0
app/src/main/res/layout/fragment_apply_for_credit_card_commit.xml

@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#f4f4f4"
+    android:scrollbars="none"
+    >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingBottom="20dp"
+        >
+
+
+        <LinearLayout style="@style/creditCardInputGroupStyle"
+            android:layout_marginTop="0dp"
+            >
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="个人信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="证件有效期" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="重要信息,请正确填写" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="所在地" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请选择"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="住在地址" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请选择"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="电子邮箱" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="婚姻状况" />
+
+
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="教育程度" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位名称" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位城市" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位地址" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位电话" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="工作年限" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="3"
+                        >
+                        <TextView
+                            style="@style/creditCardInputItemTitleStyle"
+                            android:text="直属亲属名字" />
+                        <com.kfzs.libs.widget.CompleteCommitEditText
+                            style="@style/creditCardInputItemEtStyle"
+                            android:hint="请填写"
+                            android:inputType="number"
+                            android:maxLength="11" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="2"
+                        >
+                        <TextView
+                            style="@style/creditCardInputItemTitleStyle"
+                            android:layout_width="wrap_content"
+                            android:paddingRight="4dp"
+                            android:text="关系" />
+                        <com.kfzs.libs.widget.CompleteCommitEditText
+                            style="@style/creditCardInputItemEtStyle"
+                            android:hint="请填写"
+                            android:inputType="number"
+                            android:maxLength="11" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="3"
+                        >
+                        <TextView
+                            style="@style/creditCardInputItemTitleStyle"
+                            android:layout_width="wrap_content"
+                            android:paddingRight="4dp"
+                            android:text="电话" />
+                        <com.kfzs.libs.widget.CompleteCommitEditText
+                            style="@style/creditCardInputItemEtStyle"
+                            android:hint="186****4624"
+                            android:inputType="number"
+                            android:maxLength="11" />
+                    </LinearLayout>
+
+
+
+                </LinearLayout>
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="其他联系人" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写"
+                        android:inputType="number"
+                        android:maxLength="11" />
+
+                </LinearLayout>
+
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="请确认您填写的信息无误并提交申请"
+            android:textColor="#b5b5b5"
+            android:textSize="11sp"
+            android:gravity="center"
+            android:layout_marginTop="12dp"
+            />
+        <com.kfzs.libs.widget.alpha.AlphaButton
+            android:id="@+id/btn_next"
+            style="@style/creditCardBtnGradientStyle"
+            android:layout_marginTop="12dp"
+            android:text="下一步" />
+
+        <com.kfzs.libs.widget.alpha.AlphaButton
+            android:id="@+id/btn_fix_infos"
+            style="@style/creditCardBtnGradientStyle"
+            android:layout_marginTop="12dp"
+            android:text="修改提交信息" />
+
+    </LinearLayout>
+
+</ScrollView>

+ 374 - 0
app/src/main/res/layout/fragment_apply_for_credit_card_details.xml

@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#f4f4f4"
+    android:scrollbars="none"
+    >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingBottom="20dp"
+        >
+
+
+        <LinearLayout style="@style/creditCardInputGroupStyle"
+            android:layout_marginTop="0dp"
+            >
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="个人信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="住宅城市" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写所在城市" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="住宅地址" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="详细填写精确到,街道,门牌号"
+                        android:inputType="number"
+                        />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="电子邮箱" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:digits="@string/digits_email"
+                        android:hint="请提供电子账单发送的邮箱地址"
+                        />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="婚姻状况" />
+
+                    <RadioGroup style="@style/creditCardInputItemRadiogroupStyle">
+                        <RadioButton
+                            android:text=" 未婚"
+                            style="@style/creditCardInputItemRadioBtnStyle" />
+
+                        <RadioButton
+                            android:text=" 已婚"
+                            style="@style/creditCardInputItemRadioBtnStyle" />
+
+                        <RadioButton
+                            android:text=" 其他"
+                            style="@style/creditCardInputItemRadioBtnStyle" />
+
+                    </RadioGroup>
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="教育程度" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请选择教育程度"
+                         />
+
+                </LinearLayout>
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout style="@style/creditCardInputGroupStyle">
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="工作信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位名称" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写单位名称,15字以内" />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位城市" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="请填写所在城市"
+                         />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位地址" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="卡片将邮寄此地址,请详细填写信息"
+                         />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="单位电话" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="区号"
+                        android:inputType="number"/>
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="3"
+                        android:hint="电话号码"
+                        android:inputType="number"/>
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="工作年限" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:inputType="number"
+                        android:hint="工作年限多少年"
+                        android:maxLength="2" />
+
+                </LinearLayout>
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout style="@style/creditCardInputGroupStyle">
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="联系人信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="直属亲属" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="姓名"
+                        />
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="2"
+                        android:hint="手机号"
+                        android:maxLength="11"
+                        android:inputType="number"/>
+
+                    <android.support.v7.widget.AppCompatSpinner
+                        android:id="@+id/sp_relationship_immediate_relatives"
+                        style="@style/creditCardInputItemSpinnerStyle"
+                        android:layout_weight="1"
+                        />
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="其他联系人" />
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="姓名"
+                        />
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="2"
+                        android:hint="手机号"
+                        android:maxLength="11"
+                        android:inputType="number"/>
+                    <android.support.v7.widget.AppCompatSpinner
+                        android:id="@+id/sp_relationship_other"
+                        style="@style/creditCardInputItemSpinnerStyle"
+                        android:layout_weight="1"
+                        />
+                </LinearLayout>
+
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout style="@style/creditCardInputGroupStyle">
+
+            <TextView
+                style="@style/creditCardInputGroupTitleStyle"
+                android:text="其他信息" />
+
+            <LinearLayout style="@style/creditCardInputItemFrameStyle">
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="证件有效期" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="身份证有效期"
+                        android:inputType="number"
+                        />
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="终止日期"
+                        android:inputType="number"
+                        />
+                    <CheckBox
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:button="@drawable/gx_credit_card_radiobtn"
+                        android:textSize="11sp"
+                        android:textColor="#b5b5b5"
+                        android:text=" 长期有效"
+                        />
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="车牌号码" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:digits="@string/digits_car_no"
+                        android:hint="请填写"
+                         />
+
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="住宅电话" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="1"
+                        android:hint="区号"
+                        android:inputType="number"/>
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:layout_weight="3"
+                        android:hint="电话号码"
+                        android:inputType="number"/>
+                </LinearLayout>
+
+                <LinearLayout style="@style/creditCardInputItemStyle">
+
+                    <TextView
+                        style="@style/creditCardInputItemTitleStyle"
+                        android:text="常用QQ号" />
+
+                    <com.kfzs.libs.widget.CompleteCommitEditText
+                        style="@style/creditCardInputItemEtStyle"
+                        android:hint="常用QQ号"
+                        android:inputType="number"
+                         />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    >
+
+                    <LinearLayout style="@style/creditCardInputItemStyle">
+
+                        <TextView
+                            style="@style/creditCardInputItemTitleStyle"
+                            android:text="开通快捷还款" />
+                        <CheckBox
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:button="@drawable/gx_credit_card_radiobtn"
+                            android:textSize="11sp"
+                            android:textColor="#b5b5b5"
+                            android:text=" 同意个人人民币结算账户协议并申请"
+                            />
+                    </LinearLayout>
+
+                    <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:paddingBottom="15dp"
+                        android:text="开民生银行余额理财电子账户绑定信用卡自动还款"
+                        android:textColor="#444444"
+                        android:textSize="9sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <com.kfzs.libs.widget.alpha.AlphaButton
+            android:id="@+id/btn_next"
+            style="@style/creditCardBtnGradientStyle"
+            android:text="下一步" />
+
+
+    </LinearLayout>
+
+</ScrollView>

+ 8 - 0
app/src/main/res/layout/fragment_credit_card_display.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="140dp"
+    android:id="@+id/vp_credit_card_display"
+    />
+
+

+ 13 - 0
app/src/main/res/layout/spinner_text_item.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    style="?android:attr/spinnerItemStyle"
+    android:singleLine="true"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:ellipsize="marquee"
+    android:textSize="11sp"
+    android:textColor="#b5b5b5"
+    android:minHeight="30dp"
+    android:gravity="center_vertical"
+    android:textAlignment="inherit"/>

+ 44 - 0
app/src/main/res/layout/viewpager_item_credit_card_display.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="140dp"
+    android:orientation="vertical"
+    >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="120dp"
+        >
+
+        <ImageView
+            android:id="@+id/iv_pre"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_centerVertical="true" />
+
+        <ImageView
+            android:id="@+id/iv_card"
+            android:layout_width="144dp"
+            android:layout_height="90dp"
+            android:layout_centerInParent="true"
+            android:src="@drawable/ic_gold_credit_card_1" />
+
+
+        <ImageView
+            android:id="@+id/iv_next"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            />
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/tv_display_desc"
+        android:layout_width="match_parent"
+        android:layout_height="20dp"
+        android:gravity="center"
+        android:textColor="@android:color/black"
+        android:textSize="11sp" />
+</LinearLayout>

+ 25 - 0
app/src/main/res/values/gx_strings.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <string name="digits_id_no">0123456789Xx</string>
+    <string name="digits_car_no">0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
+    <string name="digits_email">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.</string>
+
+    <string name="desc_credit_card_normal_paint">民生in卡炫彩油画普卡(unionpay)</string>
+    <string name="desc_credit_card_normal_musical">民生in卡酷动音符普卡(unionpay)</string>
+    <string name="desc_credit_card_gold_paint">民生in卡炫彩油画金卡(unionpay)</string>
+    <string name="desc_credit_card_gold_musical">民生in卡酷动音符金卡(unionpay)</string>
+
+    <string-array name="credit_card_relationship_immediate_relatives_type">
+        <item>父母</item>
+        <item>配偶</item>
+        <item>子女</item>
+        <item>其他</item>
+    </string-array>
+    <string-array name="credit_card_relationship_other_type">
+        <item>朋友</item>
+        <item>同学</item>
+        <item>同事</item>
+        <item>其他</item>
+    </string-array>
+</resources>

+ 166 - 0
app/src/main/res/values/styles.xml

@@ -78,4 +78,170 @@
         <item name="android:maxHeight">4dp</item>
     </style>
 
+    <style name="creditCardStepItemStyle">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">match_parent</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:layout_gravity">center_vertical</item>
+        <item name="android:paddingTop">5dp</item>
+        <item name="android:paddingBottom">5dp</item>
+    </style>
+
+    <style name="creditCardStepItemTitleStyle">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">0dp</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:layout_gravity">center_horizontal</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textSize">11sp</item>
+        <item name="android:textColor">@color/gx_s_credit_card_step_text</item>
+    </style>
+
+    <style name="creditCardStepLineFrameStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">0dp</item>
+        <item name="android:layout_weight">1</item>
+    </style>
+
+    <style name="creditCardStepLineStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">1dp</item>
+        <item name="android:background">@drawable/gx_s_bg_credit_card_step_line</item>
+        <item name="android:layout_centerVertical">true</item>
+    </style>
+
+    <style name="creditCardStepIndexStyle">
+        <item name="android:layout_width">16dp</item>
+        <item name="android:layout_height">16dp</item>
+        <item name="android:background">@drawable/gx_s_bg_credit_card_step_cycle</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textSize">8sp</item>
+        <item name="android:textColor">@android:color/white</item>
+        <item name="android:layout_centerInParent">true</item>
+    </style>
+
+    <style name="creditCardInputGroupStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:paddingLeft">12dp</item>
+        <item name="android:paddingRight">12dp</item>
+        <item name="android:background">@drawable/gx_bg_credit_card_white_corner</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:layout_marginTop">15dp</item>
+    </style>
+
+    <style name="creditCardInputGroupTitleStyle">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">35dp</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:textColor">@android:color/black</item>
+        <item name="android:textSize">14sp</item>
+    </style>
+
+    <style name="creditCardInputItemFrameStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:showDividers">middle</item>
+        <item name="android:divider">@drawable/gx_bg_line</item>
+    </style>
+    <style name="creditCardInputItemStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">40dp</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:orientation">horizontal</item>
+    </style>
+
+    <style name="creditCardInputItemTitleStyle">
+        <item name="android:layout_width">70dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textSize">11sp</item>
+        <item name="android:textColor">#444444</item>
+    </style>
+
+    <style name="creditCardInputItemEtStyle">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:textSize">11sp</item>
+        <item name="android:background">@null</item>
+        <item name="android:textColor">@android:color/black</item>
+        <item name="android:textColorHint">#b5b5b5</item>
+        <item name="android:singleLine">true</item>
+    </style>
+
+    <style name="creditCardInputItemSpinnerStyle">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:textSize">11sp</item>
+        <item name="android:background">@null</item>
+        <item name="android:textColor">#b5b5b5</item>
+        <item name="android:singleLine">true</item>
+    </style>
+
+    <style name="creditCardInputItemDynamicStyle">
+        <item name="android:layout_width">65dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textColor">#0089ee</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textSize">10sp</item>
+    </style>
+
+    <style name="creditCardBtnGradientStyle" parent="Base.Widget.AppCompat.Button.Borderless">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">35dp</item>
+        <item name="android:background">@drawable/gx_credit_card_btn_gradient_blue</item>
+        <item name="android:textSize">15sp</item>
+        <item name="android:textColor">@android:color/white</item>
+        <item name="android:layout_marginTop">22dp</item>
+    </style>
+
+    <style name="creditCardInputItemRadiogroupStyle">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:orientation">horizontal</item>
+    </style>
+
+    <style name="creditCardInputItemRadioBtnStyle">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:textColor">#b5b5b5</item>
+        <item name="android:textSize">11sp</item>
+        <item name="android:button">@drawable/gx_credit_card_radiobtn</item>
+    </style>
+
+    <style name="creditCardCardTypeBtnStyle" parent="Base.Widget.AppCompat.Button.Borderless">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_height">25dp</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:textColor">@color/gx_s_credit_card_card_type_btn_text</item>
+        <item name="android:background">@drawable/gx_s_credit_card_card_type_btn</item>
+        <item name="android:textSize">13sp</item>
+    </style>
+
+    <style name="creditCardDialogCloseStyle">
+        <item name="android:layout_width">20dp</item>
+        <item name="android:layout_height">20dp</item>
+        <item name="android:layout_alignParentRight">true</item>
+        <item name="android:layout_alignParentTop">true</item>
+        <item name="android:layout_centerVertical">true</item>
+        <item name="android:paddingRight">5dp</item>
+    </style>
+
+    <style name="creditCardConfirmBtnStyle" parent="Base.Widget.AppCompat.Button.Borderless">
+        <item name="android:layout_width">120dp</item>
+        <item name="android:layout_height">30dp</item>
+        <item name="android:background">@drawable/gx_btn_credit_card_comfirm</item>
+        <item name="android:textColor">@android:color/black</item>
+        <item name="android:textSize">13sp</item>
+        <item name="android:layout_gravity">center_horizontal</item>
+        <item name="android:layout_marginTop">15dp</item>
+        <item name="android:layout_marginBottom">15dp</item>
+    </style>
+
+
 </resources>

+ 1 - 1
kfzslibrary/build.gradle

@@ -33,7 +33,7 @@ dependencies {
      * surport
      */
     compile dependenciesLibs.recyclerview
-    dependenciesLibs.support_appcompat_v7
+    compile dependenciesLibs.support_appcompat_v7
     compile dependenciesLibs.recyclerview
     /**
      * dagger

+ 1 - 1
kfzslibrary/src/main/java/com/kfzs/libs/dialog/BaseDialogFragment.java

@@ -45,7 +45,7 @@ public abstract class BaseDialogFragment extends DialogFragment {
         if (window != null) {
             window.setContentView(contentView);
             window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
-            window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
+            window.setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
             window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
             if(windowAnimationStyle() != NO_SET_ANIMATION){
                 window.setWindowAnimations(windowAnimationStyle());

+ 101 - 0
kfzslibrary/src/main/java/com/kfzs/libs/widget/CompleteCommitEditText.java

@@ -0,0 +1,101 @@
+package com.kfzs.libs.widget;
+
+import android.content.Context;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.EditText;
+
+/**
+ * Created by guoxin on 2018/4/2.
+ */
+
+public class CompleteCommitEditText extends EditText implements TextWatcher,View.OnFocusChangeListener{
+
+    private static final String TAG = "CompleteCommitEditText";
+    private String lastText = "";
+
+    private OnCompleteEditListener onCompleteEditListener;
+
+    private boolean afterTextChangedCanComplete = false;
+
+    Runnable recorderRunnable = new Runnable() {
+        @Override
+        public void run() {
+            lastText = getText().toString();
+        }
+    };
+
+
+    public CompleteCommitEditText(Context context) {
+        super(context);
+        init();
+    }
+
+    public CompleteCommitEditText(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    public CompleteCommitEditText(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    private void init(){
+        addTextChangedListener(this);
+        setOnFocusChangeListener(this);
+    }
+
+    @Override
+    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+    }
+
+    @Override
+    public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+    }
+
+    @Override
+    public void afterTextChanged(Editable s) {
+
+        if(isFocusable() && afterTextChangedCanComplete){
+            String curText = getText().toString();
+            if(!TextUtils.equals(lastText,curText)){
+                if (onCompleteEditListener != null) {
+                    onCompleteEditListener.onCompleteEdit(curText);
+                }
+                postDelayed(recorderRunnable,500);
+            }
+        }
+    }
+
+    public void setAfterTextChangedCanComplete(boolean afterTextChangedCanComplete) {
+        this.afterTextChangedCanComplete = afterTextChangedCanComplete;
+    }
+
+    public void setOnCompleteEditListener(OnCompleteEditListener onCompleteEditListener) {
+        this.onCompleteEditListener = onCompleteEditListener;
+    }
+
+    @Override
+    public void onFocusChange(View v, boolean hasFocus) {
+        if(!hasFocus){//失去焦点
+            String curText = getText().toString();
+            if(!TextUtils.equals(curText,lastText)){//这里防止重新获取焦点后,上次填入的数据与这次一样,会引起重复提交
+                if(onCompleteEditListener != null){
+                    onCompleteEditListener.onCompleteEdit(curText);
+                }
+            }
+            lastText = curText;
+        }
+    }
+
+
+    public interface OnCompleteEditListener{
+        void onCompleteEdit(String text);
+    }
+}