android使用WebView

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值