LoginActivity.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.ht.gate;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import androidx.constraintlayout.widget.ConstraintLayout;
  4. import android.annotation.SuppressLint;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.text.Editable;
  8. import android.util.Log;
  9. import android.view.MotionEvent;
  10. import android.view.View;
  11. import android.widget.EditText;
  12. import com.ht.gate.activity.MainActivity;
  13. import butterknife.BindView;
  14. import butterknife.ButterKnife;
  15. public class LoginActivity extends AppCompatActivity {
  16. @BindView(R.id.parent_layout)
  17. ConstraintLayout parentLayout;
  18. @BindView(R.id.keyboard_view)
  19. CustomKeyboardView keyboardView;
  20. @BindView(R.id.et)
  21. EditText et;
  22. @BindView(R.id.unlock_view)
  23. UnlockView unlockView;
  24. private boolean captalize;
  25. private KeyboardUtil keyboardUtil;
  26. @SuppressLint("ClickableViewAccessibility")
  27. @Override
  28. protected void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_login);
  31. ButterKnife.bind(this);
  32. unlockView.setUnlockListener(() -> {
  33. unlockView.setVisibility(View.GONE);
  34. et.setVisibility(View.VISIBLE);
  35. keyboardView.show();
  36. });
  37. et.setOnTouchListener((v, event) -> {
  38. if (event.getAction() == MotionEvent.ACTION_UP) {
  39. if (keyboardView.getVisibility() == View.GONE) {
  40. keyboardView.show();
  41. }
  42. }
  43. return true;
  44. });
  45. keyboardView.setKeyboardActionListener(new CustomKeyboardView.OnKeyboardActionListener() {
  46. @Override
  47. public void onPress(int primaryCode) {
  48. }
  49. @Override
  50. public void onRelease(int primaryCode) {
  51. }
  52. @Override
  53. public void onKey(int primaryCode, int[] keyCodes) {
  54. Log.d("onKey", primaryCode + "");
  55. Editable editable = et.getText();
  56. int start = et.getSelectionStart();
  57. switch (primaryCode) {
  58. case CustomKeyboardView.KEYCODE_SHIFT:
  59. captalize = !captalize;
  60. break;
  61. case CustomKeyboardView.KEYCODE_CANCEL:
  62. keyboardView.hide();
  63. et.setVisibility(View.GONE);
  64. unlockView.setVisibility(View.VISIBLE);
  65. break;
  66. case CustomKeyboardView.KEYCODE_DONE:
  67. startActivity(new Intent(LoginActivity.this, MainActivity.class));
  68. break;
  69. case CustomKeyboardView.KEYCODE_DELETE:
  70. if (editable != null && editable.length() > 0) {
  71. if (start > 0) {
  72. editable.delete(start - 1, start);
  73. }
  74. }
  75. break;
  76. default:
  77. String str = Character.toString((char) primaryCode);
  78. editable.insert(start, captalize ? str.toUpperCase() : str.toLowerCase());
  79. break;
  80. }
  81. }
  82. @Override
  83. public void onText(CharSequence text) {
  84. }
  85. });
  86. }
  87. @Override
  88. protected void onResume() {
  89. super.onResume();
  90. View decorView = getWindow().getDecorView();
  91. int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
  92. | View.SYSTEM_UI_FLAG_FULLSCREEN
  93. | View.SYSTEM_UI_FLAG_IMMERSIVE;
  94. decorView.setSystemUiVisibility(uiOptions);
  95. }
  96. }