From 8eed991e0e6d916e87ac27ceb9ce371bfe8773b3 Mon Sep 17 00:00:00 2001 From: Severiano Jaramillo Date: Thu, 3 Jan 2019 09:11:58 -0600 Subject: [PATCH] Created Kotlin etension functions to add a enabled/disabled functionality to FloatingActionButtons. This is used in the SendTransactionFragment to show the Send button as disabled when the information to send a transaction is not all correct. --- .../fragments/SendTransactionFragment.kt | 8 +++++--- .../bitsybitshareswallet/utils/Extensions.kt | 15 +++++++++++++++ .../main/res/layout/fragment_send_transaction.xml | 1 - app/src/main/res/layout/item_transaction.xml | 4 ++-- app/src/main/res/values/colors.xml | 3 ++- 5 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/SendTransactionFragment.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/SendTransactionFragment.kt index caf1374..afe5b9c 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/SendTransactionFragment.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/SendTransactionFragment.kt @@ -29,6 +29,8 @@ import cy.agorise.bitsybitshareswallet.database.joins.BalanceDetail import cy.agorise.bitsybitshareswallet.repositories.AuthorityRepository import cy.agorise.bitsybitshareswallet.utils.Constants import cy.agorise.bitsybitshareswallet.utils.CryptoUtils +import cy.agorise.bitsybitshareswallet.utils.disable +import cy.agorise.bitsybitshareswallet.utils.enable import cy.agorise.bitsybitshareswallet.viewmodels.BalanceDetailViewModel import cy.agorise.graphenej.* import cy.agorise.graphenej.api.ConnectionStatusUpdate @@ -160,7 +162,7 @@ class SendTransactionFragment : Fragment(), ZXingScannerView.ResultHandler, Serv } fabSendTransaction.setOnClickListener { startSendTransferOperation() } - fabSendTransaction.hide() + fabSendTransaction.disable(R.color.lightGray) authorityRepository = AuthorityRepository(context!!) @@ -391,9 +393,9 @@ class SendTransactionFragment : Fragment(), ZXingScannerView.ResultHandler, Serv private fun enableDisableSendFAB() { if (isToAccountCorrect && isAmountCorrect) - fabSendTransaction.show() + fabSendTransaction.enable(R.color.colorSend) else - fabSendTransaction.hide() + fabSendTransaction.disable(R.color.lightGray) } private fun startSendTransferOperation() { diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt new file mode 100644 index 0000000..4ab5fae --- /dev/null +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/utils/Extensions.kt @@ -0,0 +1,15 @@ +package cy.agorise.bitsybitshareswallet.utils + +import android.content.res.ColorStateList +import androidx.core.content.ContextCompat +import com.google.android.material.floatingactionbutton.FloatingActionButton + +fun FloatingActionButton.enable(colorResource: Int) { + this.isEnabled = true + this.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(this.context, colorResource)) +} + +fun FloatingActionButton.disable(colorResource: Int) { + this.isEnabled = false + this.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(this.context, colorResource)) +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_send_transaction.xml b/app/src/main/res/layout/fragment_send_transaction.xml index 8528147..de4a86c 100644 --- a/app/src/main/res/layout/fragment_send_transaction.xml +++ b/app/src/main/res/layout/fragment_send_transaction.xml @@ -186,7 +186,6 @@ app:fabCustomSize="90dp" app:maxImageSize="70dp" app:srcCompat="@drawable/ic_arrow_forward" - android:backgroundTint="@color/colorSend" app:layout_constraintEnd_toEndOf="@id/vSend" app:layout_constraintTop_toTopOf="@+id/vSend" /> diff --git a/app/src/main/res/layout/item_transaction.xml b/app/src/main/res/layout/item_transaction.xml index 967998c..b6e5e7b 100644 --- a/app/src/main/res/layout/item_transaction.xml +++ b/app/src/main/res/layout/item_transaction.xml @@ -105,7 +105,7 @@ android:layout_width="0dp" android:layout_height="1dp" android:layout_marginTop="12dp" - android:background="@color/lightGray" + android:background="@color/superLightGray" app:layout_constraintTop_toBottomOf="@id/tvFrom" app:layout_constraintStart_toEndOf="@id/firstVerticalGuideline" app:layout_constraintEnd_toStartOf="@id/fourthVerticalGuideline" /> @@ -133,7 +133,7 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="12dp" - android:background="@color/lightGray"/> + android:background="@color/superLightGray"/> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 41ef6c5..69942f8 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -10,7 +10,8 @@ #000 #888 #139657 - #e0e0e0 + #aaa + #e0e0e0 #616161 #669900 #DC473A