安卓给View添加动画效果
程序员文章站
2022-03-02 21:09:43
...
说明:
之前写过活动切换时的动画效果,这次我们来实现一下一般的view的动画效果。
1.首先,还是要定义动画文件
2.使用AnimationUtils.loadAnimation方法加载动画文件
3.通过view.startAnimation方法执行动画效果,通过view.clearAnimation方法消除动画效果
代码:
1.加载动画文件
private void init(Context context){
mContext=context;
mView= LayoutInflater.from(mContext).inflate(R.layout.activity_play_music_view, this,false);
mPlayCircleBg=mView.findViewById(R.id.play_music_circle_bg);
mPlayFlagImg=mView.findViewById(R.id.play_music_flag);
mNeedle=mView.findViewById(R.id.play_music_needle);
mWholeCircle=mView.findViewById(R.id.play_music_frame_layout_child_1);
mWholeCircle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
trigger();
}
});
//加载动画文件
mPlayingAnim= AnimationUtils.loadAnimation(mContext,R.anim.play_music_rotate_anim);
mNeedleUpAnim=AnimationUtils.loadAnimation(mContext,R.anim.play_music_needle_up);
mNeedleDownAnim=AnimationUtils.loadAnimation(mContext,R.anim.play_music_needle_down);
addView(mView);
}
2.设置动画效果
public void startPlayMusic(){
mIsPlaying=true;
mPlayFlagImg.setVisibility(GONE);
//设置音乐播放时的动画
mWholeCircle.startAnimation(mPlayingAnim);
mNeedle.startAnimation(mNeedleDownAnim);
}
public void stopPlayMusic(){
mIsPlaying=false;
mPlayFlagImg.setVisibility(VISIBLE);
//设置音乐停止播放时的动画
mNeedle.startAnimation(mNeedleUpAnim);
mWholeCircle.clearAnimation();
}
上一篇: 浅谈Go类型转换之间的那些事
下一篇: laya ui 中已经处理了的那些事