DialogLandConfig.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.edufound.android.xyyf.config;
  2. import android.app.Activity;
  3. import android.content.pm.ActivityInfo;
  4. import android.os.Build;
  5. import android.util.Log;
  6. import android.view.Gravity;
  7. import android.view.View;
  8. import android.widget.FrameLayout;
  9. import android.widget.RelativeLayout;
  10. import com.edufound.android.xyyf.R;
  11. import com.edufound.android.xyyf.interfaces.JsInterfaces;
  12. import com.edufound.android.xyyf.main.MainView;
  13. import com.mobile.auth.gatewayauth.AuthRegisterXmlConfig;
  14. import com.mobile.auth.gatewayauth.AuthUIConfig;
  15. import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
  16. import com.mobile.auth.gatewayauth.ui.AbstractPnsViewDelegate;
  17. public class DialogLandConfig extends BaseUIConfig {
  18. private int mOldScreenOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
  19. MainView mView;
  20. public DialogLandConfig(Activity activity, PhoneNumberAuthHelper authHelper, MainView view) {
  21. super(activity, authHelper, view);
  22. mView = view;
  23. }
  24. @Override
  25. public void configAuthPage() {
  26. mAuthHelper.removeAuthRegisterXmlConfig();
  27. mAuthHelper.removeAuthRegisterViewConfig();
  28. int authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
  29. if (Build.VERSION.SDK_INT == 26) {
  30. mOldScreenOrientation = mActivity.getRequestedOrientation();
  31. mActivity.setRequestedOrientation(authPageOrientation);
  32. authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_BEHIND;
  33. }
  34. updateScreenSize(authPageOrientation);
  35. final int dialogWidth = (int) (mScreenWidthDp * 0.9);
  36. final int dialogHeight = (int) (mScreenHeightDp * 0.4);
  37. //sdk默认控件的区域是marginTop50dp
  38. int designHeight = dialogHeight - 60;
  39. int unit = designHeight / 10;
  40. int logBtnHeight = (int) (unit * 1.2);
  41. final int logBtnOffsetY = unit * 3;
  42. mAuthHelper.addAuthRegisterXmlConfig(new AuthRegisterXmlConfig.Builder()
  43. .setLayout(R.layout.custom_land_dialog, new AbstractPnsViewDelegate() {
  44. @Override
  45. public void onViewCreated(View view) {
  46. findViewById(R.id.tv_title).setVisibility(View.VISIBLE);
  47. View close = findViewById(R.id.btn_close);
  48. close.setOnClickListener(new View.OnClickListener() {
  49. @Override
  50. public void onClick(View v) {
  51. mAuthHelper.quitLoginPage();
  52. }
  53. });
  54. int iconTopMargin = AppUtils.dp2px(getContext(), logBtnOffsetY + 130);
  55. View iconContainer = findViewById(R.id.container_icon);
  56. RelativeLayout.LayoutParams iconLayout = (RelativeLayout.LayoutParams) iconContainer.getLayoutParams();
  57. iconLayout.topMargin = iconTopMargin;
  58. View phoneNumLogin = findViewById(R.id.changePhoneNumLogin);
  59. phoneNumLogin.setOnClickListener(new View.OnClickListener() {
  60. @Override
  61. public void onClick(View v) {
  62. Log.e("PhoneNumberAuthDemo", "-----------切换手机号登录------------");
  63. // mView.getPersenter().getJsInterfaces().NOUILOGIN();
  64. mView.loadJSMehtodPost("changePhoneLogin()");
  65. mAuthHelper.quitLoginPage();
  66. }
  67. });
  68. // iconLayout.width = AppUtils.dp2px(getContext(), dialogWidth / 2 - 60);
  69. }
  70. }).build());
  71. showAllUi(dialogWidth, dialogHeight, authPageOrientation);
  72. }
  73. void showAllUi(int dialogWidth, int dialogHeight, int authPageOrientation) {
  74. mAuthHelper.setAuthUIConfig(new AuthUIConfig.Builder()
  75. .setNavHidden(true)
  76. .setCheckboxHidden(false)
  77. .setLogoHidden(true)
  78. .setSloganHidden(true)
  79. .setSwitchAccHidden(true)
  80. // .setNumberFieldOffsetX(60)
  81. .setNumberLayoutGravity(Gravity.CENTER)
  82. .setNumberSize(24)
  83. .setNumFieldOffsetY(20)
  84. .setLogBtnOffsetY(80)
  85. .setPrivacyOffsetY_B(10)
  86. .setLogBtnMarginLeftAndRight(20)
  87. .setLogBtnWidth(300)
  88. .setLogBtnLayoutGravity(Gravity.CENTER)
  89. .setLogBtnHeight(51)
  90. // .setLogBtnBackgroundPath("login_btn_bg")
  91. .setDialogWidth(dialogWidth)
  92. .setDialogHeight(dialogHeight)
  93. .setDialogBottom(false)
  94. // .setAuthPageActIn("in_activity", "out_activity")
  95. // .setAuthPageActOut("in_activity", "out_activity")
  96. .setProtocolGravity(Gravity.CENTER_VERTICAL)
  97. .setScreenOrientation(authPageOrientation)
  98. .create());
  99. }
  100. @Override
  101. public void onResume() {
  102. super.onResume();
  103. if (mOldScreenOrientation != mActivity.getRequestedOrientation()) {
  104. mActivity.setRequestedOrientation(mOldScreenOrientation);
  105. }
  106. }
  107. }