webView加载富⽂本(包含⽂字图⽚啥的)
使⽤
mWv.loadDataWithBaseURL(“about:blank”, mUrl1, “text/html”, “utf-8”, null);
进⾏加载
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.annotation.SuppressLint;
t.Intent;
aphics.Typeface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
lerview.widget.GridLayoutManager;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.fastjson.JSON;
import com.ruhai.yibei.Constant;
import com.ruhai.yibei.R;
import com.ruhai.yibei.adapter.HomeFragBannerAdapter;
import com.ruhai.yibei.adapter.HotServiceAdapter;
import com.ruhai.yibei.adapter.ServiceDetailAdapter;
import com.ruhai.yibei.bean.HotServiceBean;
import com.ruhai.yibei.bean.ServiceDetailBean;
import com.lerview.wrapper.HeaderAndFooterWrapper;
import org.xutilsmon.Callback;
import org.xutils.http.RequestParams;
import org.xutils.x;
import java.util.Timer;
import java.util.TimerTask;
public class ServiceDetailWebActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {    private ProgressBar mPb;
private WebView mWv;
private WebSettings mWebSettings;
private String mUrl = "";
private ViewPager mVpHomeFragBanner;
private int mBannerCount;
private Timer mTimer;
private boolean mVPCanPlay = true;
private RadioGroup mRgHomeFragBanner;
private TextView serviceNameTv;
private TextView serviceDescTv;
private TextView backTv;
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_service_detail_web);
mUrl = getIntent().getStringExtra("weburl");
//        test.winkong.pro/platformProduct/appPlatformService/service?serviceClassId=651&serviceId=1
Log.e("wy", "onCreate mUrl: " + mUrl);
mPb = (ProgressBar) findViewById(R.id.pb);
mWv = (WebView) findViewById(R.id.ship_webv);
serviceNameTv = (TextView) findViewById(R.id.service_name_tv);
serviceDescTv = (TextView) findViewById(R.id.service_desc_tv);
mRgHomeFragBanner = (RadioGroup) findViewById(_home_frag_banner);
mVpHomeFragBanner = (ViewPager) findViewById(R.id.vp_home_frag_banner);
backTv = (TextView) findViewById(R.id.back_tv);
backTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//        监听⽤户是否接触banner,如果是则不轮播,否则轮播
mVpHomeFragBanner.addOnPageChangeListener(this);
initDatas();
}
private void initDatas() {
RequestParams params = new RequestParams(mUrl);
params.addHeader("Authorization", Constant.authorization);
params.addHeader("language", "zh_CN");
params.setAsJsonContent(true);
x.http().get(params, new Callback.CommonCallback<String>() {
@SuppressLint("ResourceAsColor")
@Override
public void onSuccess(String result) {
ServiceDetailBean professionInfo = JSON.parseObject(result, ServiceDetailBean.class);
Log.e("wy", "onSuccess: " + Msg());
if (Code().equals("00000000")) {
serviceNameTv.Data().getServiceName());
//                    serviceDescTv.Data().getServiceDesc());
webSettings();
Data().getServiceDesc() + Data().getServiceDetail());
//                    webView("www.baidu");
mBannerCount = Data().getDetailPicUrlList().size();
//轮播图在集合⾥,从中取出轮播图
mVpHomeFragBanner.setAdapter(new Data().getDetailPicUrlList(), ServiceDetailWebActivity.this));                    mVpHomeFragBanner.setCurrentItem(25000);
if (mTimer == null) {
mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
//                        mHandler.sendEmptyMessage(1);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mVPCanPlay) {
mVpHomeFragBanner.CurrentItem() + 1);
mVpHomeFragBanner.CurrentItem() + 1);
}
}
});
}
}, 3000, 3000);
}
} else {
Toast.makeText(x.app(), Msg(), Toast.LENGTH_LONG).show();
}
}
@Override
android radiogrouppublic void onError(Throwable ex, boolean isOnCallback) {
Log.e("wy", "result: " + ex.getMessage());
}
@Override
public void onCancelled(CancelledException cex) {
Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
}
@Override
public void onFinished() {
}
});
}
/**
* webView的相关设置
*/
private void webView(String mUrl1) {
//为了更好的⽀持表单
mWv.setFocusable(true);
mWv.setFocusableInTouchMode(true);
mWv.setWebViewClient(new WebViewClient() {
//⽬的是要让我们应⽤⾃⼰来加载⽹页,⽽不是交给浏览器
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
mWv.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
mPb.setProgress(newProgress);
mPb.setVisibility(newProgress == 100 ? GONE : VISIBLE);
}
});
//        mWv.loadUrl(mUrl1);
mWv.loadDataWithBaseURL("about:blank", mUrl1, "text/html", "utf-8", null);
}
* web的相关设置
*/
private void webSettings() {
mWebSettings = Settings();
//让webview⽀持js
mWebSettings.setJavaScriptEnabled(true);
//设置是否⽀持缩放模式
mWebSettings.setSupportZoom(true);
mWebSettings.setBuiltInZoomControls(true);
// 是否显⽰+ -
mWebSettings.setDisplayZoomControls(false);
mWebSettings.setDomStorageEnabled(true);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    }
//    rudiobutton⼩点点和轮播图做关联,这是viewPager的监听
@Override
public void onPageSelected(int position) {
Log.e("wy", "position: " + position + " mBannerCount:" + mBannerCount);
if (mBannerCount != -1) {
int realPos = position % mBannerCount;
Log.e("wy", "onPageSelected: " + realPos);
RadioButton childAt = (RadioButton) ChildAt(realPos);
childAt.setChecked(true);
}
}
@Override
public void onPageScrollStateChanged(int state) {
//        判断轮播图是否被⽤户拖拽
mVPCanPlay = state == ViewPager.SCROLL_STATE_IDLE;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。