Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

131
Views
How to share object for all app's activities

I have an animation that I want to apply on every button in my app. So I don't want to call AnimationUtils.loadAnimation() in every activity onCreate method. I would like to call this method only one time when the app is launched to initialize my animation object, and then get it (with a getter) in my different activities. I'm new in Android programming, I was planning to use a Singleton pattern but it looks like to be "unsafe" in Android related to this article and other Stackoverflow pages. (https://programmerr47.medium.com/singletons-in-android-63ddf972a7e7)

Is there anyway to create my Animation at app launching and share it between every activity ? And does it worth to do some optimization ?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

I'd suggest extending the android Button/AppCompatButton class, adding the functionality you want to the extended class and using that button everywhere in your app much easier that way and probably the most correct way,

For example:

AnimatedButton.java:

package com.example.myapplication;

import android.content.Context;
import android.util.AttributeSet;

public class AnimatedButton extends androidx.appcompat.widget.AppCompatButton {
    public AnimatedButton(Context context) {
        super(context);
        createAnimation();
    }

    public AnimatedButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public AnimatedButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    private void createAnimation() {
        // here create the animation and call
        // setAnimation([YOUR_ANIMATION_HERE]);
        // now you can simply call customButton.animate();
        // from anywhere in the code that uses the button and it should work
    }
}

In your xml where you want to use the button:

<com.example.myapplication.AnimatedButton
            android:id="@+id/btn_animate"
            android:layout_width="180dp"
            android:layout_height="80dp"
            android:text="Animate" />
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!