Android移动开发—属性动画
<h1 style="text-align: center"><span style="font-family: 楷体">Android移动开发—属性动画</span></h1><h1 style="text-align: center"> </h1>
<h1 style="text-align: center"><span style="font-family: 楷体">——木梓婕</span></h1>
<p>1、题目要求:</p>
<p>使用属性动画,分别实现以下效果:</p>
<p>(1)使图片先顺时针旋转再逆时针旋转</p>
<p>(2)使图片围绕X轴旋转</p>
<p>(3)使图片可以横向放大2倍再还原</p>
<p>(4)使文字可以飞入</p>
<p>2、效果图:</p>
<p><img src="https://img2020.cnblogs.com/blog/1920767/202005/1920767-20200528161355444-993934903.png"></p>
<p>3、XML代码:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><?</span><span style="color: rgba(255, 0, 255, 1)">xml version="1.0" encoding="utf-8"</span><span style="color: rgba(0, 0, 255, 1)">?></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">androidx.constraintlayout.widget.ConstraintLayout </span><span style="color: rgba(255, 0, 0, 1)">xmlns:android</span><span style="color: rgba(0, 0, 255, 1)">="http://schemas.android.com/apk/res/android"</span><span style="color: rgba(255, 0, 0, 1)">
xmlns:app</span><span style="color: rgba(0, 0, 255, 1)">="http://schemas.android.com/apk/res-auto"</span><span style="color: rgba(255, 0, 0, 1)">
xmlns:tools</span><span style="color: rgba(0, 0, 255, 1)">="http://schemas.android.com/tools"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="match_parent"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="match_parent"</span><span style="color: rgba(255, 0, 0, 1)">
tools:context</span><span style="color: rgba(0, 0, 255, 1)">=".MainActivity"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ImageView
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/imageView"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="167dp"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="149dp"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintBottom_toBottomOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintEnd_toEndOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintHorizontal_bias</span><span style="color: rgba(0, 0, 255, 1)">="0.498"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintStart_toStartOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toBottomOf</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button2"</span><span style="color: rgba(255, 0, 0, 1)">
app:srcCompat</span><span style="color: rgba(0, 0, 255, 1)">="@mipmap/ic_launcher"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">Button
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button1"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:onClick</span><span style="color: rgba(0, 0, 255, 1)">="c1"</span><span style="color: rgba(255, 0, 0, 1)">
android:text</span><span style="color: rgba(0, 0, 255, 1)">="(1)"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintStart_toStartOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toTopOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">Button
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button2"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:onClick</span><span style="color: rgba(0, 0, 255, 1)">="c2"</span><span style="color: rgba(255, 0, 0, 1)">
android:text</span><span style="color: rgba(0, 0, 255, 1)">="(2)"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintEnd_toStartOf</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button3"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintStart_toEndOf</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button1"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toTopOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">Button
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button3"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:onClick</span><span style="color: rgba(0, 0, 255, 1)">="c3"</span><span style="color: rgba(255, 0, 0, 1)">
android:text</span><span style="color: rgba(0, 0, 255, 1)">="(3)"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintEnd_toEndOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toTopOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">TextView
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/textView"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_marginTop</span><span style="color: rgba(0, 0, 255, 1)">="82dp"</span><span style="color: rgba(255, 0, 0, 1)">
android:textSize</span><span style="color: rgba(0, 0, 255, 1)">="30dp"</span><span style="color: rgba(255, 0, 0, 1)">
android:text</span><span style="color: rgba(0, 0, 255, 1)">=" 好好学习"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintEnd_toEndOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintStart_toStartOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toBottomOf</span><span style="color: rgba(0, 0, 255, 1)">="@+id/imageView"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">Button
</span><span style="color: rgba(255, 0, 0, 1)">android:id</span><span style="color: rgba(0, 0, 255, 1)">="@+id/button4"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_width</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_height</span><span style="color: rgba(0, 0, 255, 1)">="wrap_content"</span><span style="color: rgba(255, 0, 0, 1)">
android:layout_marginTop</span><span style="color: rgba(0, 0, 255, 1)">="32dp"</span><span style="color: rgba(255, 0, 0, 1)">
android:onClick</span><span style="color: rgba(0, 0, 255, 1)">="c4"</span><span style="color: rgba(255, 0, 0, 1)">
android:text</span><span style="color: rgba(0, 0, 255, 1)">="(4)"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintEnd_toEndOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintHorizontal_bias</span><span style="color: rgba(0, 0, 255, 1)">="0.498"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintStart_toStartOf</span><span style="color: rgba(0, 0, 255, 1)">="parent"</span><span style="color: rgba(255, 0, 0, 1)">
app:layout_constraintTop_toBottomOf</span><span style="color: rgba(0, 0, 255, 1)">="@+id/textView"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">androidx.constraintlayout.widget.ConstraintLayout</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p>4、Java代码:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">package</span><span style="color: rgba(0, 0, 0, 1)"> com.example.myapplication3_2;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> androidx.appcompat.app.AppCompatActivity;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.animation.AnimatorSet;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.animation.ObjectAnimator;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.os.Bundle;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.view.View;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.widget.Button;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.widget.ImageView;
</span><span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> android.widget.TextView;
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span> MainActivity <span style="color: rgba(0, 0, 255, 1)">extends</span><span style="color: rgba(0, 0, 0, 1)"> AppCompatActivity {
ImageView img;
TextView tv;
Button b1,b2,b3,b4;
@Override
</span><span style="color: rgba(0, 0, 255, 1)">protected</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> onCreate(Bundle savedInstanceState) {
</span><span style="color: rgba(0, 0, 255, 1)">super</span><span style="color: rgba(0, 0, 0, 1)">.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.imageView);
tv</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.textView);
b1</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.button1);
b2</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.button2);
b3</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.button3);
b4</span>=<span style="color: rgba(0, 0, 0, 1)">findViewById(R.id.button4);
}
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> c1(View v)
{
ObjectAnimator animator</span>=ObjectAnimator.ofFloat(img,"rotation",0.0F,360.0F,0.0F,-360.0F<span style="color: rgba(0, 0, 0, 1)">);
animator.setDuration(</span>3000<span style="color: rgba(0, 0, 0, 1)">);
animator.start();
}
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> c2(View v)
{
ObjectAnimator animator</span>=ObjectAnimator.ofFloat(img,"rotationX",0.0F,180.0F,00.0F<span style="color: rgba(0, 0, 0, 1)">);
animator.setDuration(</span>3000<span style="color: rgba(0, 0, 0, 1)">);
animator.start();
}
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> c3(View v)
{
ObjectAnimator animator</span>=ObjectAnimator.ofFloat(img,"ScaleX",1.0F,2.0F,1.0F<span style="color: rgba(0, 0, 0, 1)">);
animator.setDuration(</span>3000<span style="color: rgba(0, 0, 0, 1)">);
animator.start();
}
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> c4(View v)
{
ObjectAnimator animator1</span>=ObjectAnimator.ofFloat(tv,"translationX",300,0<span style="color: rgba(0, 0, 0, 1)">);
ObjectAnimator animator2</span>=ObjectAnimator.ofFloat(tv,"translationY",200,0<span style="color: rgba(0, 0, 0, 1)">);
ObjectAnimator animator3</span>=ObjectAnimator.ofFloat(tv,"alpha",0.0F,1.0F<span style="color: rgba(0, 0, 0, 1)">);
animator1.setDuration(</span>3000<span style="color: rgba(0, 0, 0, 1)">);
animator2.setDuration(</span>3000<span style="color: rgba(0, 0, 0, 1)">);
animator3.setDuration(</span>4000<span style="color: rgba(0, 0, 0, 1)">);
AnimatorSet animatorSet</span>=<span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> AnimatorSet();
animatorSet.playTogether(animator1,animator2,animator3);
animatorSet.start();
}
}</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/jannie/p/mzj13.html
頁:
[1]