Search code examples
androidanimationsplash-screenandroid-kenburnsview

Adding another textview in kenburnsview splashscreen


I want to add another text view below my appname here's the splash

private void setAnimation() {
    ObjectAnimator scaleXAnimation = ObjectAnimator.ofFloat(findViewById(R.id.welcome_text), "scaleX", 5.0F, 1.0F);
    scaleXAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    scaleXAnimation.setDuration(1200);
    ObjectAnimator scaleYAnimation = ObjectAnimator.ofFloat(findViewById(R.id.welcome_text), "scaleY", 5.0F, 1.0F);
    scaleYAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    scaleYAnimation.setDuration(1200);
    ObjectAnimator alphaAnimation = ObjectAnimator.ofFloat(findViewById(R.id.welcome_text), "alpha", 0.0F, 1.0F);
    alphaAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    alphaAnimation.setDuration(1200);
    AnimatorSet animatorSet = new AnimatorSet();
    animatorSet.play(scaleXAnimation).with(scaleYAnimation).with(alphaAnimation);
    animatorSet.setStartDelay(500);
    animatorSet.start();

    findViewById(R.id.imagelogo).setAlpha(1.0F);
    Animation anim = AnimationUtils.loadAnimation(this, R.anim.translate_top_to_center);
    findViewById(R.id.imagelogo).startAnimation(anim);
}

I tried to duplicate the codes and placed this

scaleXAnimation = ObjectAnimator.ofFloat(findViewById(R.id.smslogan_text), "scaleX", 5.0F, 1.0F);
    scaleXAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    scaleXAnimation.setDuration(1200);
    scaleYAnimation = ObjectAnimator.ofFloat(findViewById(R.id.smslogan_text), "scaleY", 5.0F, 1.0F);
    scaleYAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    scaleYAnimation.setDuration(1200);
    alphaAnimation = ObjectAnimator.ofFloat(findViewById(R.id.smslogan_text), "alpha", 0.0F, 1.0F);
    alphaAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
    alphaAnimation.setDuration(1200);
    animatorSet = new AnimatorSet();
    animatorSet.play(scaleXAnimation).with(scaleYAnimation).with(alphaAnimation);
    animatorSet.setStartDelay(500);
    animatorSet.start();

but the second textview appears on the top of the first TextView

enter image description here

This is my activity_splash.xml code:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical">

    <eventnotif.sti.com.broadcastreceiver.KenBurnsView
        android:id="@+id/ken_burns_images"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ImageView
        android:id="@+id/imagelogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="106dp"
        android:src="@drawable/smlogo" />

    <eventnotif.sti.com.broadcastreceiver.RobotoTextView
        android:id="@+id/welcome_text"
        style="@style/TextViewAppearance.Headline2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imagelogo"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:alpha="0.0"
        android:text="@string/app_name"
        android:textColor="@color/global_color_primary_light" />
    <eventnotif.sti.com.broadcastreceiver.RobotoTextView
        android:id="@+id/smslogan_text"
        style="@style/TextViewAppearance.Headline2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imagelogo"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:alpha="0.0"
        android:text="@string/slogan"
        android:textColor="@color/global_color_primary_light" />
</RelativeLayout>

Solution

  • Try changing like this in headline two

     <eventnotif.sti.com.broadcastreceiver.RobotoTextView
            android:id="@+id/smslogan_text"
            style="@style/TextViewAppearance.Headline2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
    
            <!--Set below welcome text-->
    
            android:layout_below="@+id/welcome_text"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:alpha="0.0"
            android:text="@string/slogan"
            android:textColor="@color/global_color_primary_light" />