Android动画之属性动画 数位绘图板 • 2022-12-13 • 随笔 • 阅读 19 Android动画之属性动画 android:layout_width=“match_parent” android:layout_height=“wrap_content” android:orientation=“horizontal”> android:id="@+id/btn_alpha" android:layout_width=“0dp” android:layout_height=“40dp” android:layout_weight=“1” android:text=“透明动画” /> android:id="@+id/btn_translate" android:layout_width=“0dp” android:layout_height=“40dp” android:layout_weight=“1” android:text=“位移动画” /> android:id="@+id/btn_rotate" android:layout_width=“0dp” android:layout_height=“40dp” android:layout_weight=“1” android:text=“旋转动画” /> android:id="@+id/btn_scale" android:layout_width=“0dp” android:layout_height=“40dp” android:layout_weight=“1” android:text=“缩放动画” /> android:id="@+id/iv_show" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_centerInParent=“true” android:src="@mipmap/ic_launcher" /> android:layout_width=“match_parent” android:layout_height=“wrap_content” android:layout_alignParentBottom=“true” android:onClick=“groupshow” android:text=“组合显示” /> ThirdActivity.java文件: //属性动画 public class ThirdActivity extends AppCompatActivity implements View.onClickListener { private Button btn_alpha; private Button btn_translate; private Button btn_rotate; private Button btn_scale; private ImageView iv_show; ObjectAnimator objectAnimator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); initView(); } private void initView() { btn_alpha = (Button) findViewById(R.id.btn_alpha); btn_translate = (Button) findViewById(R.id.btn_translate); btn_rotate = (Button) findViewById(R.id.btn_rotate); btn_scale = (Button) findViewById(R.id.btn_scale); iv_show = (ImageView) findViewById(R.id.iv_show); btn_alpha.setonClickListener(this); btn_translate.setonClickListener(this); btn_rotate.setonClickListener(this); btn_scale.setonClickListener(this); } @Override public void onClick(View v) { //ofFloat:三个参数 :1.受到动画影响的对象(UI控件)2. 要执行的动画类型 3. 一组动画的属性 switch (v.getId()) { case R.id.btn_alpha://透明动画 objectAnimator = ObjectAnimator.ofFloat(iv_show, “alpha”, 0.5f, 1f, 0.5f, 1f); break; case R.id.btn_translate://位移动画 //只会执行一个 objectAnimator = ObjectAnimator.ofFloat(iv_show, “translationX”, 0, 200); //objectAnimator=ObjectAnimator.ofFloat(iv_show,“translationY”,0,200); break; case R.id.btn_rotate://旋转动画 objectAnimator = ObjectAnimator.ofFloat(iv_show, “rotation”, 0, 90f, 180f, 90f, 45f, 100f); break; case R.id.btn_scale://缩放动画 //只会执行一个 objectAnimator = ObjectAnimator.ofFloat(iv_show, “scaleY”, 1f, 2f, 3f, 4f); // objectAnimator=ObjectAnimator.ofFloat(iv_show,“scaleX”,1f,2f,3f,4f); break; } //动画持续时间 objectAnimator.setDuration(3000); //启动动画 objectAnimator.start(); } public void groupshow(View view) {//组合 ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(iv_show, “scaleY”, 1f, 2f, 1f, 2f); ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(iv_show, “scaleX”, 1f, 2f, 1f, 2f); ObjectAnimator objectAnimator3 = ObjectAnimator.ofFloat(iv_show, “rotation”, 0, 90f, 180f, 90f, 45f, 100f); //创建属性动画的集合容器 AnimatorSet animatorSet = new AnimatorSet(); //同时播放 animatorSet.play(objectAnimator1).with(objectAnimator2).with(objectAnimator3); 欢迎分享,转载请注明来源:内存溢出原文地址: http://outofmemory.cn/zaji/5523385.html 动画 属性 位移 缩放 执行 赞 (0) 打赏 微信扫一扫 支付宝扫一扫 数位绘图板 一级用户组 0 0 生成海报 在Mendix 9 中使用原生多线程 上一篇 2022-12-13 查看实时gc日志 下一篇 2022-12-13 发表评论 请登录后评论... 登录后才能评论 提交 评论列表(0条)
评论列表(0条)