diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt
index d9faa1b..3d80e05 100644
--- a/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt
+++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt
@@ -1,7 +1,10 @@
package cy.agorise.bitsybitshareswallet.utils
+import android.app.Activity
import android.content.Context
import android.content.res.ColorStateList
+import android.view.View
+import android.view.inputmethod.InputMethodManager
import android.widget.Toast
import androidx.core.content.ContextCompat
import com.google.android.material.floatingactionbutton.FloatingActionButton
@@ -42,4 +45,12 @@ fun String.containsDigits(): Boolean {
*/
fun String.containsVowels(): Boolean {
return Pattern.matches("[aeiou]", this)
+}
+
+/**
+ * Allows to hide the Keyboard from any view
+ */
+fun View.hideKeyboard(){
+ val inputMethodManager = context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
+ inputMethodManager.hideSoftInputFromWindow(this.windowToken, 0)
}
\ No newline at end of file
diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.java b/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.java
deleted file mode 100644
index d5d17d6..0000000
--- a/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package cy.agorise.bitsybitshareswallet.views;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
-
-import com.google.android.material.textfield.TextInputEditText;
-
-// An EditText that lets you use actions ("Done", "Go", etc.) on multi-line edits.
-public class MyTextInputEditText extends TextInputEditText
-{
- public MyTextInputEditText(Context context)
- {
- super(context);
- }
-
- public MyTextInputEditText(Context context, AttributeSet attrs)
- {
- super(context, attrs);
- }
-
- public MyTextInputEditText(Context context, AttributeSet attrs, int defStyle)
- {
- super(context, attrs, defStyle);
- }
-
- @Override
- public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
- InputConnection connection = super.onCreateInputConnection(outAttrs);
- int imeActions = outAttrs.imeOptions&EditorInfo.IME_MASK_ACTION;
- if ((imeActions&EditorInfo.IME_ACTION_DONE) != 0) {
- // clear the existing action
- outAttrs.imeOptions ^= imeActions;
- // set the DONE action
- outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;
- }
- if ((outAttrs.imeOptions&EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0) {
- outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
- }
- return connection;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.kt
new file mode 100644
index 0000000..6286704
--- /dev/null
+++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/views/MyTextInputEditText.kt
@@ -0,0 +1,37 @@
+package cy.agorise.bitsybitshareswallet.views
+
+import android.content.Context
+import android.graphics.Rect
+import android.util.AttributeSet
+import android.view.inputmethod.EditorInfo
+import android.view.inputmethod.InputConnection
+import com.google.android.material.textfield.TextInputEditText
+import cy.agorise.bitsybitshareswallet.utils.hideKeyboard
+
+
+/**
+ * A TextInputEditText that hides the keyboard when the focus is removed from it and also lets you
+ * use actions ("Done", "Go", etc.) on multi-line edits.
+ */
+class MyTextInputEditText(context: Context?, attrs: AttributeSet?) : TextInputEditText(context, attrs){
+
+ override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnection {
+ val connection = super.onCreateInputConnection(outAttrs)
+ val imeActions = outAttrs.imeOptions and EditorInfo.IME_MASK_ACTION
+ if (imeActions and EditorInfo.IME_ACTION_DONE != 0) {
+ // clear the existing action
+ outAttrs.imeOptions = outAttrs.imeOptions xor imeActions
+ // set the DONE action
+ outAttrs.imeOptions = outAttrs.imeOptions or EditorInfo.IME_ACTION_DONE
+ }
+ if (outAttrs.imeOptions and EditorInfo.IME_FLAG_NO_ENTER_ACTION != 0) {
+ outAttrs.imeOptions = outAttrs.imeOptions and EditorInfo.IME_FLAG_NO_ENTER_ACTION.inv()
+ }
+ return connection
+ }
+
+ override fun onFocusChanged(focused: Boolean, direction: Int, previouslyFocusedRect: Rect?) {
+ super.onFocusChanged(focused, direction, previouslyFocusedRect)
+ if (!focused) this.hideKeyboard()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_create_account.xml b/app/src/main/res/layout/fragment_create_account.xml
index ff32d01..1ae07fd 100644
--- a/app/src/main/res/layout/fragment_create_account.xml
+++ b/app/src/main/res/layout/fragment_create_account.xml
@@ -9,39 +9,26 @@
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingBottom="@dimen/activity_vertical_margin">
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:clickable="true">
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:inputType="text"
+ android:digits="abcdefghijklmnopqrstuvwxyz0123456789-"
+ android:singleLine="true"/>
+
-
-
+ android:orientation="vertical"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:clickable="true">
-
-
-
+ android:layout_height="match_parent"
+ tools:context=".fragments.SendTransactionFragment">
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:clickable="true">
-
-
-