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 @@ - - +