之前写DOME,动画后按钮的点击事件无法触发,所以本文主要是解决UI移动后点击事件的触发。至于动画的属性很多地方都有,下面简单介绍下
四种基本动画:
JAVA代码 XML文件
1、AlphaAnimation —— alpha(透明度)
2、ScaleAnimation —— scale(缩放)
3、TranslateAnimation —— translate(移动)
4、RotateAnimation —— rotate(旋转)
注:用xml创建动画在项目中建立res/anim目录来存放文件
在代码中通过AnimationUtils.loadAnimation(context,R.anim);的静态方法调用。
上代码:
public class AnimationDome_Activity extends Activity {
private Button but_composer_camera, but_composer_music, but_composer_place,
but_composer_sleep, but_composer_thought, but_composer_with,
but_friends_delete;
private ImageView img_logo;
private Animation animation_alpha;
private Animation animation_scale;
private Animation animation_rotate;
private Animation animation_translate;
private LayoutParams params = new LayoutParams(0, 0);
private int width;
private int heigth;
private Boolean IsClike = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animationdome);
img_logo = (ImageView) this.findViewById(R.id.img_logo);
// 获取屏幕的尺寸
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
heigth = display.getHeight();
// 设置LayoutParams,控制按钮的初始化大小
params.width = 60;
params.height = 60;
// 初始化控件的位置
params.setMargins(10, heigth - 150, 0, 0);
but_composer_camera = (Button) this
.findViewById(R.id.but_composer_camera);
but_composer_camera.setLayoutParams(params);
but_composer_music = (Button) this
.findViewById(R.id.but_composer_music);
but_composer_music.setLayoutParams(params);
but_composer_place = (Button) this
.findViewById(R.id.but_composer_place);
but_composer_place.setLayoutParams(params);
but_composer_sleep =