提交 a951ab40 编写于 作者: S shuyu

add list

上级 d5c23a3e
......@@ -2,7 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gsyvideoplayer">
<!-- 请求访问网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 请求访问网络 -->
......@@ -12,7 +11,6 @@
 
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application
android:name=".GSYApplication"
android:allowBackup="true"
......@@ -35,6 +33,10 @@
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Translucent" />
<activity
android:name=".ListVideoActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait" />
</application>
</manifest>
\ No newline at end of file
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);
}
}
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;
}
}
}
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<VideoModel> 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;
}
}
package com.example.gsyvideoplayer.model;
/**
* Created by shuyu on 2016/11/11.
*/
public class VideoModel {
}
......@@ -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());
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_list_video"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/video_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
......@@ -12,8 +13,15 @@
<Button
android:id="@+id/open_btn"
android:layout_width="wrap_content"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="Open Video" />
</RelativeLayout>
<Button
android:id="@+id/list_btn"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="List Video" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
android:id="@+id/list_item_video"
android:layout_width="match_parent"
android:layout_height="200dp" />
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册