android 帧动画 源码,Android基础动画,组合动画,帧动画,布局动画,Activity跳转动画 源码下载...

Android中常用的动画都在这里了,包含了基本的动画【透明度动画,缩放动画,旋转动画,位移动画】;还有就是这四种动画的组合实现; 还有布局动画,就是在加载布局时的动画;还有Activity跳转的动画。 效果图如下:

579f7f1ca9835e4628cb0be36bd4855e.gif

1. Android基础动画

透明度动画

android:duration="1000"

android:fromAlpha="0.0"

android:toAlpha="1.0"

/>

/**

* 第一个参数fromAlpha为 动画开始时候透明度

*第二个参数toAlpha为 动画结束时候透明度

*/

Animation animation = new AlphaAnimation(0, 1);

animation.setDuration(1000);

v.startAnimation(animation);

缩放动画

android:duration="1000"

android:fromXScale="0"

android:fromYScale="0"

android:pivotX="50%"

android:pivotY="50%"

android:toXScale="1"

android:toYScale="1" />

/**

* 第一个参数fromX为动画起始时 X坐标上的伸缩尺寸

* 第二个参数toX为动画结束时 X坐标上的伸缩尺寸

* 第三个参数fromY为动画起始时Y坐标上的伸缩尺寸

* 第四个参数toY为动画结束时Y坐标上的伸缩尺寸

* 说明: 0.0表示收缩到没有;1.0表示正常无伸缩;值小于1.0表示收缩;值大于1.

* 第五个参数pivotXType为动画在X轴相对于物件位置类型

* 第六个参数pivotXValue为动画相对于物件的X坐标的开始位置

* 第七个参数pivotXType为动画在Y轴相对于物件位置类型

* 第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置

*/

Animation animation = new ScaleAnimation(0, 1

animation.setDuration(1000);

iv.startAnimation(animation);

旋转动画

android:duration="1000"

android:fromDegrees="0"

android:pivotX="50%"

android:pivotY="50%"

android:toDegrees="360" />

/**

* 第一个参数fromDegrees为动画起始时角度

* 第二个参数toDegrees为动画结束角度

* 第三个参数pivotXType为动画在X轴相对于物件位置类型

* 第四个参数pivotXValue为动画相对于物件的X坐标的开始位置

* 第五个参数pivotXType为动画在Y轴相对于物件位置类型

* 第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置

*/

Animation animation = new RotateAnima

animation.setDuration(1000);

iv.startAnimation(animation);

位移动画

android:duration="2000"

android:fromXDelta="0"

android:fromYDelta="0"

android:toXDelta="500"

android:interpolator="@android:anim/accelerate_interpolator"

android:toYDelta="0" />

/**

* 第一个参数fromDegrees为动画起始时角度

* 第二个参数toDegrees为动画结束角度

* 第三个参数pivotXType为动画在X轴相对于物件位置类型

* 第四个参数pivotXValue为动画相对于物件的X坐标的开始位置

* 第五个参数pivotXType为动画在Y轴相对于物件位置类型

* 第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置

*/

Animation animation = new RotateAnima

animation.setDuration(1000);

iv.startAnimation(animation);

/**

* 第一个参数fromXDelta为动画起始时的x坐标

* 第二个参数toXDelta为动画结束时的x坐标

* 第三个参数fromYDelta为动画起始时的y坐标

* 第四个参数toYDelta为动画结束时的y坐标

*/

Animation animation = new Translat

animation.setDuration(2000);

/**设置插值器:先加速,后减速**/

animation.setInterpolator(new Acce

iv.startAnimation(animation);

2.组合动画

先播放缩放动画,完成后播放旋转动画

Animation animation = AnimationUtils.loadAnimation(this, R.anim.scale);

iv.startAnimation(animation);

final Animation animation2 = AnimationUtils.loadAnimation(this, R.anim.rotate);

animation.setAnimationListener(new Animation.AnimationListener() {

@Override

public void onAnimationStart(Animation animation) {

}

@Override

public void onAnimationEnd(Animation animation) {

iv.startAnimation(animation2);

}

@Override

public void onAnimationRepeat(Animation animation) {

}

});

先播放旋转动画,完成后播放位移动画,在xml中设置第二个动画执行的等待时间

android:duration="1000"

android:fromDegrees="0"

android:pivotX="50%"

android:pivotY="50%"

android:toDegrees="360" />

android:duration="1000"

android:fromXDelta="0"

android:fromYDelta="0"

android:toXDelta="500"

android:startOffset="1000"

android:interpolator="@android:anim/accelerate_interpolator"

android:toYDelta="0" />

重复的透明度动画-闪烁

AlphaAnimation alphaAnimation = new AlphaAnimation(0.1f, 1.0f);

alphaAnimation.setDuration(1000);

alphaAnimation.setRepeatCount(10);

/**倒序重复REVERSE 正序重复RESTART**/

alphaAnimation.setRepeatMode(Animation.REVERSE);

iv.startAnimation(alphaAnimation);

重复的位移动画-抖动

Animation translateAnimation = new TranslateAnimation(-10, 10, 0, 0);

translateAnimation.setDuration(100);

translateAnimation.setRepeatCount(10);

/**倒序重复REVERSE 正序重复RESTART**/

translateAnimation.setRepeatMode(Animation.REVERSE);

iv.startAnimation(translateAnimation);

3.帧动画

更多动画源码样式,下载源码查看

下载地址:

文件名称:更多源码下载地址,微信开发教程,安卓ios源码分享,视频教程下载

文件大小:适用版本:

更新日期:作者信息:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要在Android Studio中创建一个新的项目,选择Empty Activity作为模板。接着,我们可以打开activity_main.xml文件,在布局中添加一个登录表单,包括用户名和密码输入框以及一个登录按钮。 当用户点击登录按钮时,我们需要在MainActivity.java中编写代码来验证用户输入的用户名和密码是否正确。如果验证成功,则我们可以通过Intent对象来启动另一个Activity,例如HomeActivity。 此外,在HomeActivity中,我们还需要添加几个控件,例如一个欢迎语和一个退出按钮,以方便用户浏览应用程序。 下面是一个简单的示例代码: MainActivity.java: ```java public class MainActivity extends AppCompatActivity { private EditText etUsername, etPassword; private Button btnLogin; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取输入框和按钮控件 etUsername = findViewById(R.id.et_username); etPassword = findViewById(R.id.et_password); btnLogin = findViewById(R.id.btn_login); // 设置按钮点击事件 btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 验证用户名和密码是否正确 if (etUsername.getText().toString().equals("admin") && etPassword.getText().toString().equals("123456")) { // 登录成功,启动HomeActivity Intent intent = new Intent(MainActivity.this, HomeActivity.class); startActivity(intent); } else { // 登录失败,弹出提示框 Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show(); } } }); } } ``` HomeActivity.java: ```java public class HomeActivity extends AppCompatActivity { private TextView tvWelcome; private Button btnLogout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); // 获取欢迎语和退出按钮控件 tvWelcome = findViewById(R.id.tv_welcome); btnLogout = findViewById(R.id.btn_logout); // 设置欢迎语 SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); String username = sp.getString("username", ""); tvWelcome.setText("欢迎您," + username); // 设置退出按钮点击事件 btnLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 退出登录,返回MainActivity Intent intent = new Intent(HomeActivity.this, MainActivity.class); startActivity(intent); finish(); } }); } } ``` 在以上示例代码中,我们使用了SharedPreferences来保存用户的登录信息。在MainActivity中,当用户输入正确的用户名和密码时,我们将用户名保存到SharedPreferences中,在HomeActivity中读取并显示出来。当用户点击退出按钮时,我们将返回MainActivity,并关闭当前Activity

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值