黑發(fā)不知勤學(xué)早,看看又是白頭翁
VideoImageView用于顯示視頻的預(yù)覽圖,但是在Meizhi項(xiàng)目中并未觸發(fā)效果。我單獨(dú)把它弄成一個(gè)項(xiàng)目,以下是效果圖。
布局代碼
VideoImageViewActivity
@Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video_image_view); mVideoImage = (VideoImageView) findViewById(R.id.video_image); mVideoImage.setImageResource(R.mipmap.ic_launcher); }VideoImageView
public class VideoImageView extends ImageView implements Animator.AnimatorListener { private boolean scale = false; public VideoImageView(Context context) { this(context, null); } public VideoImageView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public VideoImageView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); nextAnimation(); } private void nextAnimation() { AnimatorSet anim = new AnimatorSet(); if (scale) { anim.playTogether(ObjectAnimator.ofFloat(this, "scaleX", 1.5f, 1f), ObjectAnimator.ofFloat(this, "scaleY", 1.5f, 1f)); } else { anim.playTogether(ObjectAnimator.ofFloat(this, "scaleX", 1, 1.5f), ObjectAnimator.ofFloat(this, "scaleY", 1, 1.5f)); } anim.setDuration(10987); anim.addListener(this); anim.start(); scale = !scale; } @Override public void onAnimationCancel(Animator arg0) { } @Override public void onAnimationEnd(Animator animator) { nextAnimation(); } @Override public void onAnimationRepeat(Animator arg0) { } @Override public void onAnimationStart(Animator arg0) { }}Android屬性動(dòng)畫完全解析(上),初識(shí)屬性動(dòng)畫的基本用法 Android屬性動(dòng)畫完全解析(中),ValueAnimator和ObjectAnimator的高級(jí)用法 Android屬性動(dòng)畫完全解析(下),Interpolator和ViewPropertyAnimator的用法
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注