From a951ab40286f4c60f1317fb9c9fa928aef57d015 Mon Sep 17 00:00:00 2001
From: shuyu <359369982@qq.com>
Date: Fri, 11 Nov 2016 16:58:57 +0800
Subject: [PATCH] add list
---
app/src/main/AndroidManifest.xml | 6 +-
.../gsyvideoplayer/ListVideoActivity.java | 41 ++++++++
.../example/gsyvideoplayer/MainActivity.java | 15 ++-
.../adapter/ListVideoAdapter.java | 93 +++++++++++++++++++
.../gsyvideoplayer/model/VideoModel.java | 8 ++
.../gsyvideoplayer/utils/JumpUtils.java | 12 +++
.../main/res/layout/activity_list_video.xml | 12 +++
app/src/main/res/layout/activity_main.xml | 14 ++-
app/src/main/res/layout/list_video_item.xml | 12 +++
9 files changed, 205 insertions(+), 8 deletions(-)
create mode 100644 app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java
create mode 100644 app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
create mode 100644 app/src/main/java/com/example/gsyvideoplayer/model/VideoModel.java
create mode 100644 app/src/main/res/layout/activity_list_video.xml
create mode 100644 app/src/main/res/layout/list_video_item.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3dd7b16..7d9c16e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,6 @@
-
@@ -12,7 +11,6 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java b/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java
new file mode 100644
index 0000000..a74b7c3
--- /dev/null
+++ b/app/src/main/java/com/example/gsyvideoplayer/ListVideoActivity.java
@@ -0,0 +1,41 @@
+package com.example.gsyvideoplayer;
+
+import android.os.Build;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.transition.Explode;
+import android.view.Window;
+import android.widget.ListView;
+import android.widget.RelativeLayout;
+
+import com.example.gsyvideoplayer.adapter.ListVideoAdapter;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class ListVideoActivity extends AppCompatActivity {
+
+ @BindView(R.id.video_list)
+ ListView videoList;
+ @BindView(R.id.activity_list_video)
+ RelativeLayout activityListVideo;
+
+ ListVideoAdapter listVideoAdapter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ // 设置一个exit transition
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
+ getWindow().setEnterTransition(new Explode());
+ getWindow().setExitTransition(new Explode());
+ }
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_list_video);
+ ButterKnife.bind(this);
+
+ listVideoAdapter = new ListVideoAdapter(this);
+ videoList.setAdapter(listVideoAdapter);
+
+ }
+}
diff --git a/app/src/main/java/com/example/gsyvideoplayer/MainActivity.java b/app/src/main/java/com/example/gsyvideoplayer/MainActivity.java
index 2789c05..4573693 100644
--- a/app/src/main/java/com/example/gsyvideoplayer/MainActivity.java
+++ b/app/src/main/java/com/example/gsyvideoplayer/MainActivity.java
@@ -1,7 +1,9 @@
package com.example.gsyvideoplayer;
+import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.view.View;
import android.widget.Button;
import com.example.gsyvideoplayer.utils.JumpUtils;
@@ -22,8 +24,15 @@ public class MainActivity extends AppCompatActivity {
ButterKnife.bind(this);
}
- @OnClick(R.id.open_btn)
- public void onClick() {
- JumpUtils.goToVideoPlayer(this, openBtn);
+ @OnClick({R.id.open_btn, R.id.list_btn})
+ public void onClick(View view) {
+ switch (view.getId()) {
+ case R.id.open_btn:
+ JumpUtils.goToVideoPlayer(this, openBtn);
+ break;
+ case R.id.list_btn:
+ JumpUtils.goToVideoPlayer(this);
+ break;
+ }
}
}
diff --git a/app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java b/app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
new file mode 100644
index 0000000..4f4c59b
--- /dev/null
+++ b/app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
@@ -0,0 +1,93 @@
+package com.example.gsyvideoplayer.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.example.gsyvideoplayer.R;
+import com.example.gsyvideoplayer.model.VideoModel;
+import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by shuyu on 2016/11/11.
+ */
+
+public class ListVideoAdapter extends BaseAdapter {
+
+ private List list = new ArrayList<>();
+ private LayoutInflater inflater = null;
+ private Context context;
+
+ public ListVideoAdapter(Context context) {
+ super();
+ this.context = context;
+ inflater = LayoutInflater.from(context);
+ for (int i = 0; i < 40; i++) {
+ list.add(new VideoModel());
+ }
+
+ }
+
+ @Override
+ public int getCount() {
+ return list.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return null;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return 0;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder = null;
+ if (convertView == null) {
+ holder = new ViewHolder();
+ convertView = inflater.inflate(R.layout.list_video_item, null);
+ holder.standardGSYVideoPlayer = (StandardGSYVideoPlayer) convertView.findViewById(R.id.list_item_video);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ String url = "http://baobab.wdjcdn.com/14564977406580.mp4";
+ holder.standardGSYVideoPlayer.setUp(url, true, "");
+
+ //增加封面
+ ImageView imageView = new ImageView(context);
+ imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+ imageView.setImageResource(R.mipmap.xxx1);
+ holder.standardGSYVideoPlayer.setThumbImageView(imageView);
+
+ //增加title
+ holder.standardGSYVideoPlayer.getTitleTextView().setVisibility(View.GONE);
+
+ //设置返回键
+ holder.standardGSYVideoPlayer.getBackButton().setVisibility(View.GONE);
+
+ //设置全屏按键功能
+ holder.standardGSYVideoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ }
+ });
+ return convertView;
+ }
+
+ class ViewHolder {
+ StandardGSYVideoPlayer standardGSYVideoPlayer;
+ }
+}
diff --git a/app/src/main/java/com/example/gsyvideoplayer/model/VideoModel.java b/app/src/main/java/com/example/gsyvideoplayer/model/VideoModel.java
new file mode 100644
index 0000000..2adb6f3
--- /dev/null
+++ b/app/src/main/java/com/example/gsyvideoplayer/model/VideoModel.java
@@ -0,0 +1,8 @@
+package com.example.gsyvideoplayer.model;
+
+/**
+ * Created by shuyu on 2016/11/11.
+ */
+
+public class VideoModel {
+}
diff --git a/app/src/main/java/com/example/gsyvideoplayer/utils/JumpUtils.java b/app/src/main/java/com/example/gsyvideoplayer/utils/JumpUtils.java
index 8daf2fc..a60563c 100644
--- a/app/src/main/java/com/example/gsyvideoplayer/utils/JumpUtils.java
+++ b/app/src/main/java/com/example/gsyvideoplayer/utils/JumpUtils.java
@@ -7,6 +7,7 @@ import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.util.Pair;
import android.view.View;
+import com.example.gsyvideoplayer.ListVideoActivity;
import com.example.gsyvideoplayer.PlayActivity;
import com.example.gsyvideoplayer.R;
@@ -35,4 +36,15 @@ public class JumpUtils {
activity.overridePendingTransition(R.anim.abc_fade_in, R.anim.abc_fade_out);
}
}
+
+ /**
+ * 跳转到视频列表
+ *
+ * @param activity
+ */
+ public static void goToVideoPlayer(Activity activity) {
+ Intent intent = new Intent(activity, ListVideoActivity.class);
+ ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(activity);
+ ActivityCompat.startActivity(activity, intent, activityOptions.toBundle());
+ }
}
diff --git a/app/src/main/res/layout/activity_list_video.xml b/app/src/main/res/layout/activity_list_video.xml
new file mode 100644
index 0000000..a6c6478
--- /dev/null
+++ b/app/src/main/res/layout/activity_list_video.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 2ea84d3..fcc4ce1 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,9 +1,10 @@
-
-
+
+
+
diff --git a/app/src/main/res/layout/list_video_item.xml b/app/src/main/res/layout/list_video_item.xml
new file mode 100644
index 0000000..185d29d
--- /dev/null
+++ b/app/src/main/res/layout/list_video_item.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
--
GitLab