Rotar la imagen tanto en sentido horario y sentido anti-horario en Android (animación)

En este artículo, vamos a animación conjunto en una vista de la imagen mediante la rotación de la imagen dada tanto en sentido horario y sentido anti-horario en Android .

En el siguiente ejemplo, vamos a utilizar el Animation.Animation class para crear la animación. Este AnimationUtils.loadAnimation creará un objeto que puede ser utilizado para crear la animación class la imagen.

Para implementar esto en su programa tendrá que class: android.view.animation.Animation , android.view.animation.AnimationUtils en su archivo de java. A continuación, cree un archivo de diseño con un solo botón en el centro y un ImageView.

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/includehelp"
android:layout_marginBottom="200dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clockwise"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="89dp"
android:onClick="rotate"/>

Haremos otro archivo XML con nombre de rotate.xml que se utiliza para proporcionar los datos acerca de la rotación a lo largo del eje relativo.

<rotate >:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000" >
</rotate>

El objeto de la Animación class se utilizará en la imagen: image.startAnimation (animation1);

1) Archivo de Java:

package com.example.hp.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void rotate(View view){
ImageView image = (ImageView)findViewById(R.id.imageView);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rotate);
image.startAnimation(animation);
}
}

2) archivo XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout >:android="http://schemas.android.com/apk/res/android"
>:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hp.myapplication.MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/includehelp"
android:layout_marginBottom="200dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clockwise"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="89dp"
android:onClick="rotate"/>
</RelativeLayout>

3) El archivo de manifiesto:

<?xml version="1.0" encoding="utf-8"?>
<manifest >:android="http://schemas.android.com/apk/res/android"
package="com.example.hp.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

4) rotate.xml archivo:

<?xml version="1.0" encoding="utf-8"?>
<set >:android="http://schemas.android.com/apk/res/android">
<rotate >:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000" >
</rotate>
<rotate >:android="http://schemas.android.com/apk/res/android"
android:startOffset="5000"
android:fromDegrees="360"
android:toDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000" >
</rotate>
</set>

salida


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *