android金币动效_5分钟快速实现Android爆炸破碎酷炫动效

5分钟快速实现Android爆炸破碎酷炫动效

这个破碎动画,是一种类似小米系统删除应用时的爆炸破碎效果的动画。

效果图展示

先来看下是怎样的动效,要是感觉不是理想的学习目标,就跳过,避免浪费大家的时间。🙂

ezgif-2-a640aae0e5.gif

一行代码即可调用该动画

new ExplosionField(this).explode(view, null))

下面开始我们酷炫的Android动画特效正式讲解👇

先来个整体结构的把握

整体结构非常简单明了,新老从业者都可快速看懂,容易把握学习。

./

|-- explosion

| |-- MainActivity.java (测试爆炸破碎动效的主界面)

| |-- animation(爆炸破碎动效有关的类均在这里)

| | |-- ExplosionAnimator.java(爆炸动画)

| | |-- ExplosionField.java(爆炸破碎动画所依赖的View)

| | `-- ParticleModel.java(每个破碎后的粒子的model,颜色、位置、大小等)

| `-- utils

| `-- UIUtils.java(计算状态栏高度的工具类)

`-- architecture.md

庖丁解牛

下面开始每个类的详细分析

本着从简到繁、由表及里的原则,详细讲解每个类

MainActivity.java

MainActivity.java是测试动效的界面,该Activity内部有7个测试按钮。该类做的事情非常单纯,就是给每个View分别绑定click点击事件,让View在点击时能触发爆炸破碎动画。

/**

* 说明:测试的界面

* 作者:Jian

* 时间:2017/12/26.

*/

public class MainActivity extends AppCompatActivity {

/**

* 加载布局文件,添加点击事件

*/

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initViewsClick();

}

/**

* 添加点击事件的实现

*/

private void initViewsClick() {

// 为单个View添加点击事件

final View title = findViewById(R.id.title_tv);

title.setOnClickListener(v ->

new ExplosionField(MainActivity.this).explode(title, null));

// 为中间3个View添加点击事件

setSelfAndChildDisappearOnClick(findViewById(R.id.title_disappear_ll));

// 为下面3个View添加点击事件

setSelfAndChildDisappearAndAppearOnClick(findViewById(R.id.title_disappear_and_appear_ll));

// 跳转到github网页的点击事件

findViewById(R.id.github_tv).setOnClickListener((view) -> {

Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

Uri content_url = Uri.parse(getString(R.string.github));

intent.setData(content_url);

startActivity(intent);

});

}

/**

* 为自己以及子View添加破碎动画,动画结束后,把View消失掉

* @param view 可能是ViewGroup的view

*/

private void setSelfAndChildDisappearOnClick(final View view) {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值