Android image animation

Hi, wanting to know how to scale an animated logo and move its position?

I have an if statement that performs some checks, and then when it's done, I want it to reduce the image (logo) and move it.

heres my layout

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/bg_default" > <ImageView android:id="@+id/su_logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="34dp" android:src="@drawable/su_logo" android:contentDescription="@string/cd_su_logo"/> <ImageView android:id="@+id/su_shirts" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:src="@drawable/su_shirts" android:contentDescription="@string/cd_su_shirts" /> </RelativeLayout> 

heres my java

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_initialsetup); preChecks(); } public void preChecks(){ //check for internet connection //check version String curVersion = getResources().getString(R.string.app_versionCode); int curVer = Integer.parseInt(curVersion); String LiveVersion = "100"; int liveVer = Integer.parseInt(LiveVersion); if(curVer < liveVer) Log.v("setup", "There is a new version"); else { //scale animation } } 
+6
source share
1 answer

You can do this by applying ScaleAnimation and TranslateAnimation together in an AnimationSet

 // Scaling Animation scale = new ScaleAnimation(fromXscale, toXscale, fromYscale, toYscale, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // 1 second duration scale.setDuration(1000); // Moving up Animation slideUp = new TranslateAnimation(fromX, toX, fromY, toY); // 1 second duration slideUp.setDuration(1000); // Animation set to join both scaling and moving AnimationSet animSet = new AnimationSet(true); animSet.setFillEnabled(true); animSet.addAnimation(scale); animSet.addAnimation(slideUp); // Launching animation set logo.startAnimation(animSet); 
+18
source

Source: https://habr.com/ru/post/920166/


All Articles