From b9bb333c7c6036abbe1182524bf3e9320f52711f Mon Sep 17 00:00:00 2001 From: Severiano Jaramillo Date: Wed, 6 Nov 2019 21:34:20 -0600 Subject: [PATCH] Animate Share icon in Receive and eReceipt. - Created a Share icon animation using the ObjectAnimator API and used it in both eReceipt and Receive Transaction screens. --- .../fragments/EReceiptFragment.kt | 7 +++++ .../fragments/ReceiveTransactionFragment.kt | 7 +++++ app/src/main/res/drawable/ic_share.xml | 7 ++++- .../main/res/drawable/ic_share_animated.xml | 29 +++++++++++++++++++ app/src/main/res/menu/menu_e_receipt.xml | 9 +++--- .../res/menu/menu_receive_transaction.xml | 2 +- 6 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/drawable/ic_share_animated.xml diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/EReceiptFragment.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/EReceiptFragment.kt index d74a5ca..1bf46d1 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/EReceiptFragment.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/EReceiptFragment.kt @@ -3,6 +3,7 @@ package cy.agorise.bitsybitshareswallet.fragments import android.Manifest import android.content.Intent import android.content.pm.PackageManager +import android.graphics.drawable.Animatable import android.os.Bundle import android.preference.PreferenceManager import android.text.Html @@ -125,6 +126,12 @@ class EReceiptFragment : Fragment() { override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_e_receipt, menu) + + // Animate the share icon + val shareIcon = menu.findItem(R.id.menu_share).icon + if (shareIcon is Animatable) { + shareIcon.start() + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/ReceiveTransactionFragment.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/ReceiveTransactionFragment.kt index 219150e..0f77590 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/ReceiveTransactionFragment.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/ReceiveTransactionFragment.kt @@ -2,6 +2,7 @@ package cy.agorise.bitsybitshareswallet.fragments import android.content.Intent import android.content.pm.PackageManager +import android.graphics.drawable.Animatable import android.os.Bundle import android.preference.PreferenceManager import android.util.Log @@ -311,6 +312,12 @@ class ReceiveTransactionFragment : ConnectedFragment() { override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_receive_transaction, menu) + + // Animate the share icon + val shareIcon = menu.findItem(R.id.menu_share).icon + if (shareIcon is Animatable) { + shareIcon.start() + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml index 045bbc0..e723fac 100644 --- a/app/src/main/res/drawable/ic_share.xml +++ b/app/src/main/res/drawable/ic_share.xml @@ -1,5 +1,10 @@ - + + + diff --git a/app/src/main/res/drawable/ic_share_animated.xml b/app/src/main/res/drawable/ic_share_animated.xml new file mode 100644 index 0000000..6e49813 --- /dev/null +++ b/app/src/main/res/drawable/ic_share_animated.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_e_receipt.xml b/app/src/main/res/menu/menu_e_receipt.xml index 5888d65..a59c6ee 100644 --- a/app/src/main/res/menu/menu_e_receipt.xml +++ b/app/src/main/res/menu/menu_e_receipt.xml @@ -3,9 +3,10 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> - + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_receive_transaction.xml b/app/src/main/res/menu/menu_receive_transaction.xml index 5888d65..f38c95e 100644 --- a/app/src/main/res/menu/menu_receive_transaction.xml +++ b/app/src/main/res/menu/menu_receive_transaction.xml @@ -4,7 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto">