WebView的Activity如下:
package com.borui.brcm.jytt.ui.acticity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.borui.brcm.jytt.R;
import com.borui.brcm.jytt.bean.VideoDetailsBean;
import com.borui.brcm.jytt.bean.VideoTuiJianBean;
import com.borui.brcm.jytt.okhttp.MyHttpUrl;
import com.borui.brcm.jytt.okhttp.OkHttp;
import com.borui.brcm.jytt.ui.adapter.VideoDetailAdapter;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import cn.jzvd.JZVideoPlayer;
import cn.jzvd.JZVideoPlayerStandard;
import okhttp3.Request;
public class VideoDetailsActivity extends AppCompatActivity {
@BindView(R.id.img_back)
ImageView imgBack;
@BindView(R.id.img_close)
ImageView imgClose;
@BindView(R.id.img_fx)
ImageView imgFx;
@BindView(R.id.img_gd)
ImageView imgGd;
@BindView(R.id.videoplayer)
JZVideoPlayerStandard videoplayer;
@BindView(R.id.tv_title)
TextView tvTitle;
@BindView(R.id.tv_name)
TextView tvName;
@BindView(R.id.img_news_content01)
ImageView imgNewsContent01;
@BindView(R.id.img_news_content02)
ImageView imgNewsContent02;
@BindView(R.id.img_news_content03)
ImageView imgNewsContent03;
@BindView(R.id.recycler)
RecyclerView recycler;
@BindView(R.id.refreshLayout)
SmartRefreshLayout refreshLayout;
@BindView(R.id.scrollView)
NestedScrollView scrollView;
@BindView(R.id.tv_gg_title01)
TextView tvGgTitle01;
@BindView(R.id.tv_gg_title02)
TextView tvGgTitle02;
private String TAG = "zjy_VideoDetailsActivity";
private int page = 1;
private List<VideoTuiJianBean.DataBean.ListBean> videoTuiJianList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_details);
ButterKnife.bind(this);
String imageUrl = getIntent().getStringExtra("imageUrl");
String videoId = getIntent().getStringExtra("videoId");
getHeadContent(videoId, imageUrl);
imgBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
imgClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { //scrollY是滑动的距离
if (scrollY == (v.getChildAt(0).getMeasuredHeight() - v.getMeasuredHeight())) {
//滑动到底部
loadMore();
}
}
});
}
private void loadMore(){
refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
@Override
public void onLoadmore(RefreshLayout refreshlayout) {
page++;
getJCtuijian();
refreshlayout.finishLoadmore(2000/*,false*/);//传入false表示加载失败
}
});
}
public void getHeadContent(String videoId, final String imageUrl) {
Log.i(TAG, "getTitle: ");
String url = MyHttpUrl.BASEURL + MyHttpUrl.getVideoDetail + "?id=" + videoId;
OkHttp.getAsync(url, new OkHttp.DataCallBack() {
@Override
public void requestFailure(Request request, IOException e) {
Log.i(TAG, "requestFailure: ");
}
@Override
public void requestSuccess(final String result) throws Exception {
runOnUiThread(new Runnable() {
@Override
public void run() {
Log.i(TAG, "requestSuccess: " + result);
VideoDetailsBean bean = new Gson().fromJson((String) result, VideoDetailsBean.class);
VideoDetailsBean.DataBean data = bean.getData();
JZVideoPlayerStandard jzVideoPlayerStandard = (JZVideoPlayerStandard) findViewById(R.id.videoplayer);
jzVideoPlayerStandard.setUp(data.getContent().getVideo_url(),
JZVideoPlayerStandard.SCREEN_WINDOW_NORMAL,
data.getContent().getTitle());
Glide.with(getApplicationContext()).load(imageUrl)
.into(videoplayer.thumbImageView);
tvTitle.setText(data.getContent().getTitle());
Glide.with(VideoDetailsActivity.this).load(bean.getData().getAd().get(0).getImageUrls().get(0)).into(imgNewsContent01);
Glide.with(VideoDetailsActivity.this).load(bean.getData().getAd().get(1).getImageUrls().get(0)).into(imgNewsContent02);
// tvGgTitle01.getBackground().setAlpha(100);//0~255透明度值
// tvGgTitle02.getBackground().setAlpha(100);//0~255透明度值
tvGgTitle01.setText(data.getAd().get(0).getTitle());
tvGgTitle02.setText(data.getAd().get(1).getTitle());
getJCtuijian();
}
});
}
});
}
public void getJCtuijian() {
Log.i(TAG, "getJCtuijian: ");
String url = MyHttpUrl.BASEURL + MyHttpUrl.getJCtuijian + "?type=2&page=" + page;
OkHttp.getAsync(url, new OkHttp.DataCallBack() {
@Override
public void requestFailure(Request request, IOException e) {
Log.i(TAG, "requestFailure: ");
}
@Override
public void requestSuccess(final String result) throws Exception {
runOnUiThread(new Runnable() {
@Override
public void run() {
Log.i(TAG, "requestSuccess: " + result);
VideoTuiJianBean bean = new Gson().fromJson(result, VideoTuiJianBean.class);
List<VideoTuiJianBean.DataBean.ListBean> list = bean.getData().getList();
videoTuiJianList.addAll(list);
VideoDetailAdapter adapter = new VideoDetailAdapter(VideoDetailsActivity.this, videoTuiJianList);
LinearLayoutManager layoutManager = new LinearLayoutManager(VideoDetailsActivity.this) {
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
recycler.setLayoutManager(layoutManager);
// recycler.setNestedScrollingEnabled(false);//禁止滑动
recycler.setAdapter(adapter);
adapter.notifyDataSetChanged();
adapter.setOnItemClickListener(new VideoDetailAdapter.OnItemClickListener() {
@Override
public void onClick(int position, int type) {
if (type == 1){
}else {
//广告
Intent intent = new Intent(VideoDetailsActivity.this,BrowserActivity.class);
intent.putExtra("url",videoTuiJianList.get(position).getUrl());
startActivity(intent);
}
}
});
}
});
}
});
}
@Override
public void onBackPressed() {
if (JZVideoPlayer.backPress()) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
JZVideoPlayer.releaseAllVideos();
}
}
XML如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.acticity.BrowserActivity">
<include layout="@layout/title_layout"/>
<FrameLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ProgressBar
android:id="@+id/progressbar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:max="100"
android:progress="0"
android:visibility="gone"/>
</FrameLayout>
</LinearLayout>