android笔记——点击按钮放大
2015-07-17 16:00
423 查看
package com.example.button; import android.os.Bundle; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.app.Activity; import android.view.MotionEvent; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnTouchListener(new Button.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { //点击按钮未松开时按钮放大 blow_up(button); } else if (event.getAction() == MotionEvent.ACTION_UP) { //点击按钮松开后按钮缩小 narrow(button); } return false; } }); } //放大按钮动画 private void blow_up(View v) { float[] vaules = new float[] { 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f}; AnimatorSet set = new AnimatorSet(); set.playTogether(ObjectAnimator.ofFloat(v, "scaleX", vaules), ObjectAnimator.ofFloat(v, "scaleY", vaules)); set.setDuration(150); set.start(); } //缩小按钮动画 private void narrow(View v) { float[] vaules = new float[] { 1.5f, 1.4f, 1.3f, 1.2f, 1.1f, 1.0f}; AnimatorSet set = new AnimatorSet(); set.playTogether(ObjectAnimator.ofFloat(v, "scaleX", vaules), ObjectAnimator.ofFloat(v, "scaleY", vaules)); set.setDuration(150); set.start(); } }
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:context=".MainActivity" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点我放大" /> </RelativeLayout>
Animation介绍
http://www.cnblogs.com/shaweng/archive/2012/06/08/2541258.html
相关文章推荐
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- android ndk编译getevent
- 【Android Studio探索之路系列】之五:Android Studio项目创建
- 修改Android签名证书keystore的密码、别名alias以及别名密码
- android 中一个工程引用另一个工程
- android自定义style
- android引入第三方jar包后打包报错
- 【Android学习】Android工程资源命名禁忌
- Android仿qq下拉刷新及向左滑动列表----PullToRefresh, SwipeMenuListView开源项目整合
- Android开发模板------ViewPager(二)FragmentPagerAdapter的简介
- android LayoutInflater 的使用
- 另一篇关于 Serializable 和 Parcelable 对比的文章
- Android开发之PagerAdapter的使用
- 背景音乐实现功能
- android EditText默认问题
- Android Studio 上如何使用LogCat
- 完全自定义Android对话框AlertDialog的实现(系统源码)
- min3d引擎使用指南(Android)<二>
- android studio 之BaseAdapter
- android getContentLength()函数返回为-1的问题