布局文件
<?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="match_parent"
android:orientation="vertical" >
<include layout="@layout/titlebar" />
<FrameLayout
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/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminateDrawable="@drawable/customprogressbar" />
</FrameLayout>
</LinearLayout>
1@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.newsdetailui);
ViewUtils.inject(this);
ib_basepager_menu.setVisibility(View.GONE);
tv_basepager_title.setVisibility(View.GONE);
ib_titlebar_back.setVisibility(View.VISIBLE);
ib_titlebar_share.setVisibility(View.VISIBLE);
ib_titlebar_textsize.setVisibility(View.VISIBLE);
initData();
}
private void initData() {
// 监听Webview
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// 当页面加载完成后调用
progress.setVisibility(View.GONE);
super.onPageFinished(view, url);
}
});
// 配置Webview
settings = webview.getSettings();
settings.setUseWideViewPort(true);// 启用双击缩放功能
settings.setBuiltInZoomControls(true);// 启用缩放按钮
settings.setJavaScriptEnabled(true);// 支持JavaScript
String url = getIntent().getStringExtra("url");
webview.loadUrl(url);
}
@OnClick({ R.id.ib_titlebar_back, R.id.ib_titlebar_share,
R.id.ib_titlebar_textsize })
public void buttonClick(View v) {
switch (v.getId()) {
case R.id.ib_titlebar_back:
finish();
break;
case R.id.ib_titlebar_share:
showShare();
break;
case R.id.ib_titlebar_textsize:
showTextsize();
break;
default:
break;
}
}
private int currentIndex = 2;
private WebSettings settings;
private int tempIndex = 0;
private void showTextsize() {
AlertDialog.Builder builder = new Builder(this);
String[] items = new String[] { "超大号字体", "大号字体", "正常字体", "小号字体",
"超小号字体" };
builder.setSingleChoiceItems(items, currentIndex,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 设置字体
tempIndex = which;
}
});
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
currentIndex = tempIndex;
// 改变字体
changeTextSize(currentIndex);
}
});
builder.setNegativeButton("取消", null);
builder.show();
}
protected void changeTextSize(int currentIndex) {
switch (currentIndex) {
case 0:
settings.setTextSize(TextSize.LARGEST);
break;
case 1:
settings.setTextSize(TextSize.LARGER);
break;
case 2:
settings.setTextSize(TextSize.NORMAL);
break;
case 3:
settings.setTextSize(TextSize.SMALLER);
break;
case 4:
settings.setTextSize(TextSize.SMALLEST);
break;
default:
break;
}
}