#transitionmanager
Explore tagged Tumblr posts
Link
Let us explore five guiding principles of transition management for leaders in organizations, which will help them successfully navigate the transition process.
#how to implement change in the workplace#changemanagement#transition management training#transitionmanagement#change#workplace#changemanagementquote
0 notes
Photo

Prima di ogni sessione ...chiedo una indicazione alle carte. Ieri, venerdì 4 luglio, ho chiesto quale fosse la chiave per la #sessionedicoaching del pomeriggio. È arrivata lei #wholeness carta nr. 40 degli #oshotarotcards ...molto interessante la carta e super #powerfull la sessione . . #coaching #StefaniaFelettiArteDiEssere #StefaniaFelettiGuidaSpirituale #StefaniaFelettiLifeCoachProgram #9SettimanePerTe #StefaniaFelettiLifePurposeActivator #StefaniaFelettiBusinessCoach #barspractitioner #inspiring #transitionmanagement . . #NeverAlone #influencer #Insta #InstaLife #Instagram #InstaMoment #instawelness #instabenessere #instacards #instatarot https://www.instagram.com/p/CCNnGdUsSoh/?igshid=12qo4gz2gs2tc
#sessionedicoaching#wholeness#oshotarotcards#powerfull#coaching#stefaniafelettiartediessere#stefaniafelettiguidaspirituale#stefaniafelettilifecoachprogram#9settimaneperte#stefaniafelettilifepurposeactivator#stefaniafelettibusinesscoach#barspractitioner#inspiring#transitionmanagement#neveralone#influencer#insta#instalife#instagram#instamoment#instawelness#instabenessere#instacards#instatarot
0 notes
Photo

Change Management . Change Management adalah mengelola organisasi hingga perubahan yang diinginkan dapat terlaksana dengan baik. Change management adalah sebuah keharusan jika tidak mau perusahaan anda MPP (mati pelan-pelan) . Tanpa change management, kita akan digilas oleh zaman yang sedang berlari dengan kencang. Salah satunya adalah perubahan dalam cara menjual. Lihatlah mall yang mulai sepi pengunjung, khususnya untuk mall yang banyak store yang menjual produk saja. Tapi mall yang menyediakan banyak experience: kolam ikan, taman anjing, tempat makan, tempat nongkrong, dll masih bertahan bahkan semakin ramai pengunjungnya . Disruption.. itu istilah yang saat ini ditakuti oleh pemilik usaha. Berubah atau mati.. ini adalah moto yang harus ditanamkan oleh owner, direksi, dan level managerial. Namun kita tidak dapat melakukan perubahan begitu saja karena ada orang-orang yang menjadi bagian dalam organisasi. Bagaimana cara melakukan change management yang berdampak? Skill apa yang harus dimiliki? Perubahan apa saja yang harus didahulukan? . Kami peduli dengan kesulitan yang Anda hadapi. Sebagai praktisi yang telah lama berkecimpung dalam berbagai organisasi, termasuk organisasi yang sulit berubah (organisasi keagamaan), kami memahami apa yang Anda alami. Konsultasikan kebutuhan anda karena perusahaan Anda membutuhkan lebih dari sekedar konsultasi dan training . Klik sekarang juga http://wasapp.in/c33454 . #changemanagement #transitionmanagement #disruption #berubahataumati #strategiperubahan #luxdeiconsulting #perubahan #leadership #kepemimpinan #konsultasikepemimpinan https://www.instagram.com/p/B1qBnALh1k0/?igshid=1kdojoffanvjg
#changemanagement#transitionmanagement#disruption#berubahataumati#strategiperubahan#luxdeiconsulting#perubahan#leadership#kepemimpinan#konsultasikepemimpinan
0 notes
Text
Recent Trends in Android App Development You Should Know
The market for Android app development is expanding quickly. Naturally, as 5G technology and the Internet of Things gain popularity, it is anticipated to grow even more.
Latest Trends in Android App Development:-

The Google Assistant and chatbots
In the upcoming year, chatbots will be in great demand. In the end, chatbots are revolutionizing how companies interact with their clients and address their issues. Chatbots are being used by several sectors, including retail, eCommerce, and food delivery.
Voice-activated chatbots use text-to-speech and speech-to-text conversion tools. The ability to differentiate yourself from rivals has emerged as a new trend. Because chatbots are built using cutting-edge ML algorithms, they are appropriate for strategic use. It implies that massive amounts of data may be analyzed automatically, and chatbots can assist users by giving them pertinent information without human involvement.
5G Technology
5G technology promises exponential speed and performance compared to 4G networks. Having a data transfer speed of 100 GBPS, 5G technology enables the development of high-performance, feature-rich apps that boost company performance.
Utilizing On-Demand Software
One of the key trends in Android app development is the focus on customer service. There are numerous on-demand apps accessible now, such as Postmate and Uber.
Following the pandemic, people have grown even more accustomed to using on-demand services. To reach their target customers, a number of businesses, including healthcare, travel, retail, hotels, and grocery shops, now use on-demand apps.
The practice of developing Android applications on-demand will keep expanding in the upcoming year. These programs speed up and simplify routine operations.
IoT (Internet of Things)
Android app development will significantly increase as linked gadgets like smartwatches, home assistants, and security systems become more commonplace.
IoT integration is made possible by the Google IoT platform using Android Studio and its APIs. Programmers must take into account logical connectors and APIs to communicate with devices made by various manufacturers.
Machine-to-machine (M2M) app development is another term for Internet of Things (IoT) apps. Before integrating hardware and networking components, IoT software developers should create a fully functional dashboard in the cloud using either a web browser or a mobile device.
MotionLayout
By bridging the gap between complicated motions and layout transitions, MotionLayout expands the functionality of Android development. The MotionLayout assists you in controlling widget motion and animation in your app. This framework incorporates TransitionManager, CoordinatorLayout, and the property animation framework.
The ConstraintLayout library includes MotionLayout, which is backward compatible with API level 14. Regardless of their complexity or size, transitions are always described in XML via MotionLayout, which is intrinsically declarative.
One of the trends in Android app development that you can anticipate seeing more of in the future is MotionLayout.
EMM & APM
Application Performance Management (APM) and Enterprise Mobile Management (EMM) have progressively advanced in the IT/Software industry over the past few years.
The streamlined procedure of people and technology engaged in mobile computing is known as an EMM. To realize a common vision, it combines wrapping, containerization, mobile device management, and business synchronization.
Applications Performance Management keeps track of how quickly and precisely people, computers, and the underlying network infrastructure carry out transactions.
It's critical to have a thorough understanding of your applications from start to finish. Data is gathered whenever an app is not functioning as intended in order to determine the cause and offer remedies.
Technology behind blockchain
Blockchain technology has finally been used after several years after its creation. Blockchain-based decentralized apps allow developers improved access control and transparency, preventing illegal access to the app.
By 2026, it is predicted that the market for blockchain technology would generate $52.5 billion, with a CAGR of 62.73%. Decentralized applications (Dapps) on the blockchain are open-source software programs based on smart contracts. These applications operate without the capacity to change or remove data thanks to a decentralized blockchain.
These apps offer speedy payments, trustworthy data recordings, and universal use in addition to being tamper-proof. A company that creates Android apps can use blockchain technology to maintain strong security procedures. Particularly in the financial industry, which includes banks, currency exchange, and other financial institutions, this approach is quickly becoming a typical component of Android development.
Conclusion
Before committing, take the time to carefully assess your technical knowledge, financial situation, business needs, and infrastructure.
It is critical that we comprehend the processes involved in creating Android apps and the effects they have on the Android ecosystem. Partner with a mobile app development company to maximize their potential rather than simply copying modifications.
It could appear difficult to locate a business that adheres to all notable developments in Android app development. However, it's worthwhile because a reliable Android app development company may take your company to the next level. Original Source:-http://bit.ly/3CpB4uG
#Android App Development#Android App Development Company#Android App Development Dubai#Android App Developer
0 notes
Photo
Hiring Onboarding Manager
Exp:10 To 12 Years
Loc:Bangalore
Skill: Transition Management,WBS,Sop's,Checklist,Risk Management,Status Reporting,Decommissioning,Service Management,Incident Management,Problem Management,Microsoft Project Planner,MS Power Point,, MS Excel,ITSM,Cloud Deployment Model,Hybrid, On Prem Cloud Service,Infra, Compute,Storage Knowledge , Networking Knowledge
#ibst #godigitalz #muzejobs #jobs #indiajobs #bangalorejobs #chennaijobs #hyderabadjobs #coimbatorejobs #TransitionManagement #WBS #Computer #Problem #Microsoft #Planner #Infra
0 notes
Text
Latest Android App Development Trends You Are Not Aware Of
The Android application improvement industry is blasting dangerously fast. Normally, it's supposed to get much greater as 5G innovation, and the Web of Things become standard.
Statista reports that there are 3.2 billion cell phone clients overall today. Remote work has additionally sped up the requirement for complete computerized change on a worldwide scale. As a matter of fact, shipments are supposed to arrive at 1.41 billion, developing at a five-year CAGR of 2.4% by 2022.
Chatbots and Google Partner
There will be a popularity for chatbots in the approaching year. At last, chatbots are significantly altering the manner in which organizations draw in with clients and tackle their concerns. Numerous enterprises are taking on chatbots, including food conveyance administrations, Internet business, and retail.
Voice-empowered chatbots use discourse to-text and text-to-discourse administrations. It has turned into a recent fad to assist you with standing apart from contenders. The essential utilization of chatbots seems OK since they depend on cutting edge ML calculations. It implies that tremendous measures of information can be handled naturally, and chatbots can give significant responses to the client without human mediation.
Utilizing On-Request Applications
The client support part of Android application improvement is one of the principal patterns. These days, many on-request mobile app development company saudi arabia are accessible, as Uber or Postmate.
Following the pandemic, on-request applications have become much more well known among individuals. A few businesses, including medical services, travel, retail, inns, and supermarkets, presently use on-request mobile app development company dubai to arrive at their main interest groups.
In the approaching year, on-request Android application improvement pattern will keep on developing. These mobile app development company Kuwait make ordinary undertakings simpler and quicker.
MotionLayout
The MotionLayout adds new usefulness to Android improvement by overcoming any issues between design advances and complex movements. The MotionLayout oversees gadget movement and movement in your application. The property movement system, TransitionManager, and CoordinatorLayout are completely incorporated into this structure.
MotionLayout is important for the ConstraintLayout library and is in reverse viable with Programming interface level 14. MotionLayout is innately explanatory, portraying changes in XML paying little mind to intricacy or greatness.
MotionLayout is one of the Android application advancement patterns you ought to hope to see a greater amount of from now on.
IoT (Web of Things)
There will be a colossal lift in Android application improvement with the expansion of associated gadgets, including smartwatches, shrewd home partners, and security frameworks.
The Google IoT stage empowers IoT combination through Android APIs and Android Studio. To speak with various gadgets made by various organizations, developers should consider APIs and legitimate connectors.
M2M application advancement (Machine-to-Machine improvement) is one more name for IoT mobile app development company dubai. IoT programming designers ought to foster a completely utilitarian dashboard in the cloud either by means of web or versatile and afterward coordinate equipment and systems administration parts.

APM and EMM
Throughout recent years, Application Execution The executives (APM) and Endeavor Portable Administration (EMM) have consistently developed in the IT/Programming area.
An EMM is the smoothed out course of advances and individuals engaged with portable processing. It incorporates wrapping, containerization, cell phone the executives, and venture synchronization, all intended to accomplish a common vision.
mobile app development company saudi arabia Execution The board screens the speed and accuracy at which exchanges are performed by people, frameworks, and the hidden organization foundation.
Getting a total image of your applications from start to finish is basic. At whatever point an application isn't proceeding as expected, information is gathered to figure out why and arrangements.
Blockchain Innovation
Since its creation quite a long time back, blockchain innovation has at last been set in motion. Decentralized mobile app development company Kuwait that use blockchain innovation give designers upgraded admittance control and straightforwardness, so there are no unapproved gets to the application.
It is assessed that the blockchain innovation market will make $52.5 billion by 2026 at a CAGR of 62.73%. Blockchain-based decentralized applications (Dapps) are open-source programming mobile app development company dubai that are based on brilliant agreements. Utilizing a decentralized blockchain, these applications run without the capacity to change or eradicate information.
Notwithstanding speedy installment and dependable information records, these applications are sealed and can be utilized anyplace. An organization that creates android mobile app development company saudi arabia can keep up with powerful security conventions utilizing blockchain innovation. This pattern is quick turning into a standard element of Android improvement, particularly in the monetary area, which incorporates money trade, banks, and so forth.
5G Innovation
Contrasted with 4G organizations, 5G innovation offers remarkable speed and execution. 5G innovation having an information transmission speed of 100 GBPS makes it conceivable to fabricate an elite exhibition, highlight stuffed application that will further develop business execution.
Android Jetpack
Engineers can undoubtedly make excellent mobile app development company Kuwait with Jetpack's libraries, devices, and direction. Assuming you're an Android designer, you can utilize these parts to follow best practices, try not to deliver standard code, and work on complex assignments so you can focus on the framework you care about.
With Android Jetpack, existing help libraries, designs, and designs are consolidated to address significant issues like application the executives and in reverse similarity. Google structures every one of its administrations into a solitary load with four principal classes, design, establishment, UI, and conduct.
Expanded Reality (AR)
Android application improvement is taking the following jump with the joining of AR/VR with artificial intelligence by presenting progressions in vivid advancements, like the Visual Situating Administration (VPS). Among the most recent AR advances recognize and copy visual highlights in the client's environmental factors.
Internet business on Cell phones
Since versatile Web based business is ruling all areas, engineers ought to guarantee that their mobile app development company dubai have multi-stage usefulness, rugged security conventions, and start to finish support once they are live.
An effective portable Online business application requires the right preparation and statistical surveying. Likewise, first in class personalization and suggestion calculations can increment transformation rates and give a superior client experience.
End
Carve out opportunity to painstakingly assess your specialized mastery, spending plan, business necessities, and foundation prior to diving in.
We should comprehend what Android mobile app development company saudi arabia are created and the mean for they have on the Android biological system. Rather than simply duplicating changes, collaborate with a portable application improvement organization to outfit their true capacity.
Finding an organization that pursues all the essential Android application improvement directions could appear to be testing. Be that as it may, it merits the work since a dependable Android application improvement organization can step up your business.
#mobile app development company saudi arabia#mobile app development company dubai#mobile app development company Kuwait
0 notes
Text
What Are the Top 10 Android App Development Trends
Android has gone a long way, and its narrative is nothing short of inspiring, having ushered in a revolution in the mobile app development market. Android's smartphone OS market share has risen to over 85% since its launch in 2008. Furthermore, shipments are predicted to increase at a CAGR of 2.4 percent over the next five years, with shipments topping 1.41 billion in 2022. It's critical to understand mobile app development trends and their repercussions on the Android ecosystem before diving in and riding the waves of change or hiring a mobile app development company to design an app. Rather than simulating changes, collaborate with a top mobile app development company to get the benefits.
What Are the Top 10 Android App Development Trends?
The following are some of the most cutting-edge mobile application development trends to help you create a new universe of mobile apps.
1. Instant Apps for Android
Android users can use Google Play Instant to try out an app or game without installing it. Instant Apps are as easy to use as a website and function directly from the cloud because they don't require users to download them. As a result, these apps don't take up any additional space on your smartphone. These programs clear off the unneeded apps from your cellphone. Google recently released several new tools for Android app developers that make it easier to create smaller, faster-downloading apps that allow potential users to try out new apps without having to install them.
2. MotionLayout
If you want to bridge the gap between layout transitions and complicated motion, MotionLayout is the way to go, as it is constantly introducing new features to Android development.
MotionLayout is a tool that helps you manage the motion and animation of your widgets in your app. It combines the property animation framework, TransitionManager, and CoordinatorLayout into a single package.
3. EMM and APM
Application Performance Management (APM) and Corporate Mobile Management (EMM) are two aspects of enterprise mobile app development that strive to improve the speed of a mobile app. With the rapid expansion of mobile app development, users have high expectations for the quality of these apps. It ensures programs' security and safety and provides quick data transfer between mobile devices.
4. Multiplatform Kotlin
Kotlin Multi-Platform libraries enable multiplatform logic to be reused in common and platform-specific applications. Multiplatform programming support is a crucial benefit that reduces the time spent building code for sometimes incompatible and disparate systems while maximizing the flexibility and advantages of native development.
5. 5G a Next-generation Technology:
Compared to 4G networks, 5G technology offers incredible speed and capability. 5G technology, with a data transmission speed of 100 GBPS, embodies data communication for building a high-performance and feature-rich app to increase corporate performance.
6. Google Assistant/chatbots
Chatbots will be in high demand in the coming year. After all, chatbots revolutionize how businesses communicate with customers and solve problems. Chatbot development is being adopted by several companies, including on-demand services such as food delivery, eCommerce, and retail. Furthermore, chatbots are altering how businesses communicate with clients via mobile devices. Chatbots make it possible for mobile app services to answer consumer requests instantly. Food delivery services, transportation services, and internet shopping are among the demands.
7. On-demand Apps:
People's lives have been irreversibly impacted due to the epidemic, resulting in a surge in demand for on-demand solutions. Several businesses, including healthcare, travel, retail, hotel, supermarket, and many more, are embracing on-demand apps to reach their target audiences. In the following year, on-demand Android application development will continue to grow.
8. The Architecture of Android Apps
Google's architecture standards lay out the best practices for developing Android apps and the architecture that should be used to create high-performance and reliable apps. The Android architecture components are a fantastic place to start when creating stable apps. Mobile app developers can use Architecture components to build apps with less boilerplate code and more focus on the code that makes the app distinctive.
Android app architecture will assist Android app developers in creating solid apps and will clear up any confusion around design patterns for Android, such as MVC, MVP, or MVVM.
9. Flutter
Flutter, developed by Google, allows you to create attractive native apps for iOS and Android using a single codebase. The Flutter framework is a mobile SDK that provides reactive views without needing a JavaScript bridge, thanks to a revolutionary architecture that includes customizable and extendable widgets.
10. Android Jetpack
Android Jetpack is a collection of libraries, tools, and tutorials that help developers create high-quality apps quickly. These components enable you to follow best practices, eliminate boilerplate code, and simplify challenging activities so you can focus on the system that matters to you. All previous support libraries, architectures, and structures are combined in Android Jetpack to address significant challenges such as app management and backward compatibility. Google organizes everything into a single pack with four primary categories: architecture, foundation, user interface, and behavior.
Some More Popular Trends
Virtual and Augmented Reality:
With the combination of AR/VR and AI, Android app development trends are taking the next step by providing breakthroughs in immersive technologies, such as its Visual Positioning Service (VPS). It is one of the most recent AR technologies for detecting and simulating visual features in the user's environment.
Machine Learning
Many smartphones will execute advanced technology jobs such as landmark identification, image labeling, barcode scanning, face recognition, and text recognition, thanks to the latest Android development trends, including Machine Learning Artificial Intelligence (AI). Users will be able to ease their job with AI features on Android phones and provide a terrific user experience.
Blockchain Technology
Blockchain technology is making waves in a variety of businesses. It is projected to evolve in terms of security, public and private blockchain architecture, and consortium architecture. By 2024, the blockchain mobile app development market will have grown to USD 20 billion. The popularity of blockchain and blockchain app development is surging to new heights.
In the end
While Android application development trends come and go, it is critical to assess the most recent technological advancements and seize possibilities. However, it is crucial to avoid the desire to follow all trends. Before taking the plunge, carefully evaluate numerous issues such as technical skills, funding, company requirements, and infrastructure.
0 notes
Text
How to add interactive animations to your app with MotionLayout
A few well-placed animations can make your app feel more dynamic and engaging, whether it’s giving users something to look at while you perform work in the background, subtly highlighting the part of your UI that users need to interact with next, or simply adding a flourish to a screen that might otherwise have felt flat and boring.
In this article, we’ll explore MotionLayout, a new class that makes it easier to add complex, interactive animations to your Android apps. By the end of this tutorial, you’ll have used MotionLayout to create a widget that, when tapped, animates across the screen, rotates, resizes, changes color, and responds to user input events.
What is MotionLayout?
Editor's Pick
How to Add Flip Animations to your Android App
Flip animations can create a more enhanced feel for your app by making it more playful, especially when displaying notifications. Here's how to implement a page flipping animation. Create views A card has two sides and each …
The Android framework already provides several solutions for adding animations to your apps, such as TransitionManager and Animated Vector Drawables. However, these solutions can be complex to work with, and some have restrictions that may prevent you from implementing your animations exactly as you’d envisioned them.
MotionLayout is a new class that’s designed to bridge the gap between layout transitions and complex motion handling. Similar to TransitionManager, MotionLayout lets you describe the transition between two layouts. Unlike TransitionManager, MotionLayout isn’t restricted to layout attributes, so you have more flexibility to create highly-customized, unique animations.
At its core, MotionLayout lets you move a widget from point A to point B, with optional deviations and effects in between. For example, you might use MotionLayout to move an ImageView from the bottom of the screen to the top of the screen while increasing the image’s size by 50 percent. Throughout this tutorial, we’ll explore MotionLayout by applying various animations and effects to a button widget.
MotionLayouts is available as part of ConstraintLayout 2.0, so you can create all of your animations declaratively using easy-to-read XML. Plus, since it’s part of ConstraintLayout, all of your MotionLayout code will be backwards compatible to API level 14!
Getting started: ConstaintLayout 2.0
Start by creating a new project. You can use any settings, but when prompted, opt to “Include Kotlin support.”
MotionLayout was introduced in ConstraintLayout 2.0 alpha1, so your project will need access to version 2.0 alpha1 or higher. Open your build.gradle file, and add the following:
implementation 'com.android.support.constraint:constraint-layout:2.0.0-alpha2'
How do I create a MotionLayout widget?
Every MotionLayout animation consists of:
A MotionLayout widget: Unlike other animation solutions such as TransitionManager, MotionLayout only supplies capabilities to its direct children, so you’ll typically use MotionLayout as the root of your layout resource file.
A MotionScene: You define MotionLayout animations in a separate XML file called a MotionScene. This means that your layout resource file only needs to contain details about your Views, and not any of the animation properties and effects that you want to apply to those Views.
Open your project’s activity_main.xml file, and create a MotionLayout widget, plus the button that we’ll be animating throughout this tutorial.
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.motion.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/motionLayout_container"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="start" android:text="To the right (and back)" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.motion.MotionLayout>
Your UI should look something like this:
Creating a MotionScene and setting some Constraints
The MotionScene file needs to be stored inside an “res/xml” directory. If your project doesn’t already contain this directory, then:
Control-click the “res” folder.
Select “New > Android resource directory.”
Name this directory “xml.”
Open the “Resource type” dropdown, and select “xml.”
Click “OK.”
Next, you need to create the XML file where you’ll build your MotionScene:
Control-click your project’s “res/layout/xml” folder.
Select “New > XML resource file.”
Since we’re animating a button, I’m going to name this file “button_MotionScene.”
Click “OK.”
Open the “xml/button_motionscene” file, and then add the following MotionScene element:
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> </MotionScene>
Every MotionScene must contain ConstraintSets, which specify the constraints that should be applied to your widget(s) at different points in the animation. A MotionScene typically contains at least two constraints: one representing the animation’s starting point, and one representing the animation’s ending point.
When creating a ConstraintSet, you specify the widget’s desired position and its desired size at this point in the animation, which will override any other properties defined in the Activity’s layout resource file.
Let’s create a pair of ConstraintSets that move the button from the upper-left corner of the screen to the upper-right corner.
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <ConstraintSet android:id="@+id/starting_set"> <Constraint android:id="@+id/button" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ConstraintSet> <ConstraintSet android:id="@+id/ending_set"> <Constraint android:id="@+id/button" app:layout_constraintRight_toRightOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ConstraintSet> </MotionScene>
Next, we need to clarify which ConstraintSet represents the animation’s starting point (constraintSetStart) and which ConstraintSet represents its ending point (constraintSetEnd). We place this information inside a Transition, which is an element that allows us to apply various properties and effects to the animation itself. For example, I’m also specifying how long the animation should last.
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:motion="http://schemas.android.com/apk/res-auto"> <Transition //The ConstraintSet that you want to use as the animation’s starting point// motion:constraintSetStart="@+id/starting_set" //The ConstraintSet to use as the animation’s ending point// motion:constraintSetEnd="@+id/ending_set" //How long the transition should last// motion:duration="3000"> </Transition> <ConstraintSet android:id="@+id/starting_set"> <Constraint android:id="@+id/button" motion:layout_constraintTop_toTopOf="parent" motion:layout_constraintLeft_toLeftOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Constraint> </ConstraintSet> <ConstraintSet android:id="@+id/ending_set"> <Constraint android:id="@+id/button" motion:layout_constraintRight_toRightOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Constraint> </ConstraintSet> </MotionScene>
Next, we need to make sure our MotionLayout widget is aware of the MotionScene file. Switch back to activity_main.xml, and point MotionLayout in the direction of the “button_MotionScene” file:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.motion.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/motionLayout_container" //The MotionScene that this MotionLayout should use// app:layoutDescription="@xml/button_motionscene"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="start" android:text="Bottom right and back" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.motion.MotionLayout>
Make the button move!
To start this animation, we need to call the transitionToEnd() method. I’m going to call transitionToEnd() when the button is tapped:
import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.view.View import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } //Add the following block// fun start(v: View) { //Animate to the end ConstraintSet// motionLayout_container.transitionToEnd() } }
Install this project on a physical Android smartphone, tablet, or Android Virtual Device (AVD) and give the button a tap. The button widget should respond by moving from one corner of the screen to the other.
At this point we have a problem: once the button has moved to the upper-right corner of the screen, the animation is over and we can’t repeat it unless we exit and relaunch the app. How do we get the button back to its starting position?
Monitoring an animation with transitionToStart()
The easiest way to return a widget to its starting ConstraintSet, is to monitor the animation’s progress and then call transitionToStart() once the animation is complete. You monitor an animation’s progress by attaching a TransitionListener object to the MotionLayout widget.
TransitionListener has two abstract methods:
onTransitionCompleted(): This method is called when the transition is complete. I’ll be using this method to notify MotionLayout that it should move the button back to its original position.
onTransitionChange(): This method is called every time the progress of an animation changes. This progress is represented by a floating-point number between zero and one, which I’ll be printing to Android Studio’s Logcat.
Here’s the complete code:
import android.os.Bundle import android.support.constraint.motion.MotionLayout import android.support.v7.app.AppCompatActivity import android.util.Log import android.view.View import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //Add a TransitionListener to the motionLayout_container// motionLayout_container.setTransitionListener( object: MotionLayout.TransitionListener { //Implement the onTransitionChange abstract method// override fun onTransitionChange(motionLayout: MotionLayout?, startId: Int, endId: Int, progress: Float) { //Print each floating-point number to Logcat// Log.d("TAG", "Progress:" + progress) } //Implement the onTransitionCompleted method// override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) { //If our button is in the ending_set position...// if(currentId == R.id.ending_set) { //...then move it back to the starting position// motionLayout_container.transitionToStart() } } } ) } fun start(v: View) { motionLayout_container.transitionToEnd() } }
As soon as the button reaches the end of the animation, it should automatically reverse through the animation and return to its starting position.
You can also track the animation’s progress as a floating-point number in Android Studio’s Logcat Monitor.
Creating more complex animations: Adding keyframes
Currently, our button moves in a straight line from point A to point B. We can alter the shape of the animation path by defining some intermediate points. If you think of ConstraintSets as MotionLayout’s “resting states,” then keyframes are the points the widget must pass through en route to its next resting state.
MotionLayout supports various keyframes, but we’ll be focusing on:
KeyPosition: Modifies the path the widget takes during the animation.
KeyCycle: Adds an oscillation to your animation.
KeyAttribute: Applies a new attribute value at a specific point during the transition such as changing in color or size.
All keyframes must be placed inside a KeyFrameSet, which in turn must be placed inside a Transition element. Open the “button_motionscene.xml” file and add a KeyFrameSet:
<Transition android:id="@+id/my_transition" app:constraintSetStart="@+id/starting_set" app:constraintSetEnd="@+id/ending_set" app:duration="3000"> <KeyFrameSet android:id="@+id/my_keyframe"> //To do// </KeyFrameSet> </Transition> </MotionScene>
Changing the animation path with KeyPosition
Let’s start by using a KeyPosition keyframe to alter the path our button widget takes through the animation.
A KeyPosition must specify the following:
motion:target: The ID of the widget that’s affected by the keyframe, which in this instance is the button widget.
motion:framePosition: The point where the keyframe is applied during the transition, ranging from the animation’s starting point (0) to its ending point (100).
app:percentX and motion:percentY: Each keyframe’s position is expressed as a pair of X and Y coordinates, although the result of these coordinates will be affected by the project’s motion:keyPositionType.
motion:keyPositionType: This controls how Android calculates the animation path, and by extension the X and Y coordinates. The possible values are parentRelative (relative to the parent container), deltaRelative (the distance between the widget’s start and end position) and pathRelative (the linear path between the widget’s start and end states).
I’m using KeyPosition to transform the animation’s straight line into a curve:
<Transition motion:constraintSetStart="@+id/starting_set" motion:constraintSetEnd="@+id/ending_set" motion:duration="3000"> <KeyFrameSet> <KeyPosition motion:target="@+id/button" motion:keyPositionType="parentRelative" motion:percentY="1" //The point along the path where this change should occur// motion:framePosition="50"/> </KeyFrameSet> </Transition>
Give the button a tap and it’ll take a new, curved route across the screen.
Making waves: Adding oscillations with Keycycles
You can apply multiple keyframes to the same animation as long as you don’t use multiple keyframes of the same type at the same time. Let’s look at how we can add an oscillation to our animation using KeyCycles.
Similar to KeyPosition, you need to specify the ID of the target widget (app:target) and the point where the keyframe should be applied (app:framePosition). However, KeyCycle also requires a few additional elements:
android:rotation: The rotation that should be applied to the widget as it moves along the animation path.
app:waveShape: The shape of the oscillation. You can choose from sin, square, triangle, sawtooth, reverseSawtooth, cos, and bounce.
app:wavePeriod: The number of wave cycles.
I’m adding a KeyCycle that gives the button a “sin” oscillation of 50 degrees:
<Transition motion:constraintSetStart="@+id/starting_set" motion:constraintSetEnd="@+id/ending_set" motion:duration="3000"> <KeyFrameSet> <KeyPosition motion:target="@+id/button" motion:keyPositionType="parentRelative" motion:percentY="1" motion:framePosition="50"/> <KeyCycle motion:target="@+id/button" motion:framePosition="50" android:rotation="25" //The shape of the wave// motion:waveShape="sin" //The number of wave cycles// motion:wavePeriod="1" /> </KeyFrameSet> </Transition>
Try experimenting with different wave styles, rotations, and wave periods to create different effects.
Scaling up with KeyAttribute
You can specify other widget attribute changes using KeyAttribute.
I’m using KeyAttribute and android:scale to change the size of the button, mid-animation:
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:motion="http://schemas.android.com/apk/res-auto"> <Transition motion:constraintSetStart="@+id/starting_set" motion:constraintSetEnd="@+id/ending_set" motion:duration="3000"> <KeyFrameSet> <KeyPosition motion:target="@+id/button" motion:keyPositionType="parentRelative" motion:percentY="1" motion:framePosition="50"/> <KeyCycle motion:target="@+id/button" motion:framePosition="50" android:rotation="25" motion:waveShape="sin" motion:wavePeriod="1" /> //Add the following KeyAttribute block// <KeyAttribute motion:target="@id/button" android:scaleX="2" android:scaleY="2" motion:framePosition="50" /> </KeyFrameSet> </Transition> <ConstraintSet android:id="@+id/starting_set"> <Constraint android:id="@+id/button" motion:layout_constraintTop_toTopOf="parent" motion:layout_constraintLeft_toLeftOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Constraint> </ConstraintSet> <ConstraintSet android:id="@+id/ending_set"> <Constraint android:id="@+id/button" motion:layout_constraintRight_toRightOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Constraint> </ConstraintSet> </MotionScene>
Adding more animation effects: Custom attributes
We’ve already seen how you can use KeyFrames to change a widget’s properties as it moves from one ConstraintSet to the other, but you can further customize your animation using custom attributes.
A CustomAttribute must include the name of the attribute (attributeName) and the value you’re using, which can be any of the following:
customColorValue
customColorDrawableValue
customIntegerValue
customFloatValue
customStringValue
customDimension
customBoolean
I’m going to use customColorValue to change the button’s background color from cyan to purple as it moves through the animation.
To trigger this color change, you need to add a CustomAttribute to your animation’s start and end ConstraintSet, then use customColorValue to specify the color that the button should be at this point in the transition.
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:motion="http://schemas.android.com/apk/res-auto"> <Transition motion:constraintSetStart="@+id/starting_set" motion:constraintSetEnd="@+id/ending_set" motion:duration="3000"> <KeyFrameSet> <KeyPosition motion:target="@+id/button" motion:keyPositionType="parentRelative" motion:percentY="1" motion:framePosition="50"/> <KeyCycle motion:target="@+id/button" motion:framePosition="50" android:rotation="25" motion:waveShape="sin" motion:wavePeriod="1" /> </KeyFrameSet> </Transition> <ConstraintSet android:id="@+id/starting_set"> <Constraint android:id="@+id/button" motion:layout_constraintTop_toTopOf="parent" motion:layout_constraintLeft_toLeftOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> //Create a custom attribute// <CustomAttribute //Specify that you want to change the background color// motion:attributeName="backgroundColor" //The color the button should be at the start of the animation// motion:customColorValue="#03DAC6" /> </Constraint> </ConstraintSet> <ConstraintSet android:id="@+id/ending_set"> <Constraint android:id="@+id/button" motion:layout_constraintRight_toRightOf="parent" android:layout_width="wrap_content" android:layout_height="wrap_content"> //The color the button should be at the end of the animation// <CustomAttribute motion:attributeName="backgroundColor" motion:customColorValue="#6200EE" /> </Constraint> </ConstraintSet> </MotionScene>
Run this project on your Android device and tap the button to start the animation. The button should gradually change color as it approaches the end ConstraintSet, then shift back to its original color on the return journey.
Making your animations interactive
Throughout this tutorial, we’ve built a complex animation consisting of multiple attribute changes and effects. However, once you tap the button the animation cycles through all of these different stages without any further input from you — wouldn’t it be nice to have more control over the animation?
In this final section we’re going to make the animation interactive, so you can drag the button back and forth along the animation path and through all of the different states, while MotionLayout tracks the velocity of your finger and matches it to the velocity of the animation.
To create this kind of interactive, draggable animation, we need to add an onSwipe element to the Transition block and specify the following:
motion:touchAnchorId: The ID of the widget that you want to track.
motion:touchAnchorSide: The side of the widget that should react to onSwipe events. The possible values are right, left, top, and bottom.
motion:dragDirection: The direction of the motion that you want to track. Choose from dragRight, dragLeft, dragUp, or dragDown.
Here’s the updated code:
</KeyFrameSet> //Add support for touch handling// <OnSwipe motion:touchAnchorId="@+id/button" //The side of the object to move// motion:touchAnchorSide="right" //The side to swipe from// motion:dragDirection="dragRight" /> </Transition>
Run this updated project on your Android device — you should now be able to move the button back and forth along the animation path by dragging your finger across the screen. Note that this feature does seem to be a bit temperamental, so you may need to drag your finger around the screen a bit before you manage to successfully “snag” the button!
You can download this complete project from GitHub.
Wrapping up
In this article, we saw how you can use MotionLayout to add complex, interactive animations to your Android apps and how to customize these animations using a range of attributes.
Do you think MotionLayout is an improvement on Android’s existing animation solutions? Let us know in the comments below!
Learn How To Develop Your Own Android App
Get Certified in Android App Development! No Coding Experience Required.
Android Authority is proud to present the DGiT Academy: the most detailed and comprehensive course covering every aspect of Android app development, run by our own Gary Sims. Whether you are an absolute beginner with zero coding knowledge or a veteran programmer, this course will guide you through the process of building beautiful, functional Android apps and bring you up to speed on the latest features of Android and Android Studio.
The package includes over 6 hours of high quality videos and over 60 different lessons. Reams of in-depth glossaries and resources, highly detailed written tutorials and exclusive access to our private slack group where you can get help directly from Gary and our other elite developers.
AA readers get an additional 60% off today. That's a savings of over $150. Claim your discount now using exclusive promo code: SIXTYOFF. This is your ticket to a lucrative future in Android App Development. What are you wating for? Enroll Today
from Android Authority https://ift.tt/2NG1Cwo via app promotion from Blogger https://ift.tt/2PVBf7f https://ift.tt/2N8Dh5z
0 notes
Text
TDS Announces Release of TransitionManager 5.0 to Accelerate Adoption of Transformative New ... - https://ift.tt/2TBEAMC
from TAIOS - technology all in one services https://ift.tt/2GmzWuT via IFTTT
0 notes
Photo
Hiring Onboarding Manager
Exp:10 To 12 Years
Loc:Bangalore
Skill: Transition Management,WBS,Sop's,Checklist,Risk Management,Status Reporting,Decommissioning,Service Management,Incident Management,Problem Management,Microsoft Project Planner,MS Power Point,, MS Excel,ITSM,Cloud Deployment Model,Hybrid, On Prem Cloud Service,Infra, Compute,Storage Knowledge , Networking Knowledge
#ibst #godigitalz #muzejobs #jobs #indiajobs #bangalorejobs #chennaijobs #hyderabadjobs #coimbatorejobs #TransitionManagement #WBS #Computer #Problem #Microsoft #Planner #Infra
0 notes