diff --git a/app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java b/app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java index 84d2210a68a62439fe3c6d2abc574889c83d0005..311a9b0bca5ac50a51211879947b66e0f563cad1 100644 --- a/app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java +++ b/app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java @@ -1,6 +1,7 @@ package com.example.gsyvideoplayer; import android.graphics.Color; +import android.opengl.Matrix; import android.os.Bundle; import android.support.v4.widget.NestedScrollView; import android.view.View; @@ -45,6 +46,9 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.GSYVideoType; import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer; +import java.util.Timer; +import java.util.TimerTask; + import butterknife.BindView; import butterknife.ButterKnife; @@ -71,6 +75,10 @@ public class DetailFilterActivity extends GSYBaseActivityDetail { @BindView(R.id.jump) Button jump; + @BindView(R.id.change_anima) + Button anima; + + private int type = 0; private int backupRendType; @@ -79,6 +87,12 @@ public class DetailFilterActivity extends GSYBaseActivityDetail { private String url = "http://baobab.wdjcdn.com/14564977406580.mp4"; + private Timer timer = new Timer(); + + private TaskLocal mTimerTask; + + private int percentage = 1; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -118,6 +132,15 @@ public class DetailFilterActivity extends GSYBaseActivityDetail { //startActivity(new Intent(DetailControlActivity.this, MainActivity.class)); } }); + + anima.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + cancelTask(); + mTimerTask = new TaskLocal(); + timer.schedule(mTimerTask, 0, 50); + } + }); } @Override @@ -152,6 +175,27 @@ public class DetailFilterActivity extends GSYBaseActivityDetail { protected void onDestroy() { super.onDestroy(); GSYVideoType.setRenderType(backupRendType); + cancelTask(); + } + + private void cancelTask() { + if (mTimerTask != null) { + mTimerTask.cancel(); + mTimerTask = null; + } + } + + private class TaskLocal extends TimerTask { + @Override + public void run() { + float[] transform = new float[16]; + Matrix.setRotateM(transform, 0, 360 * percentage / 100, 0, 0, 1.0f); + detailPlayer.setMatrixGL(transform); + percentage++; + if (percentage > 100) { + percentage = 1; + } + } } private void loadCover(ImageView imageView, String url) { diff --git a/app/src/main/res/layout/activity_detail_filter.xml b/app/src/main/res/layout/activity_detail_filter.xml index 93c944023f504c07f594f63564a3877bb03af33c..17579709a695282c1160c234cff4a23f244ce35b 100644 --- a/app/src/main/res/layout/activity_detail_filter.xml +++ b/app/src/main/res/layout/activity_detail_filter.xml @@ -46,13 +46,20 @@ android:layout_margin="10dp" android:text="切换效果" /> +