package com.likebamboo.osa.android.ui;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.text.TextUtils;
import com.likebamboo.osa.android.R;
import com.likebamboo.osa.android.ui.view.CommonWebView;
import butterknife.ButterKnife;
import butterknife.InjectView;
/**
* 普通WebView界面
*/
public class WebViewActivity extends BaseActivity {
/**
* 博客URL
*/
public static final String EXTRA_URL = "extra_url";
/**
* actionbar
*/
private ActionBar mActionBar;
@InjectView(R.id.webview)
CommonWebView mWebView = null;
/**
* 打开web页面的URL
*/
private String mUrl = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
ButterKnife.inject(this);
// 初始化actionBar
initActionBar();
// 初始化View
initView();
// 添加监听器
addListener();
mUrl = getIntent().getStringExtra(EXTRA_URL);
if (TextUtils.isEmpty(mUrl)) {
// 容错处理
finish();
return;
}
// 开始加载页面
startLoading(mUrl);
}
/**
* 初始化控件
*/
private void initView() {
}
/**
* 添加监听器
*/
private void addListener() {
mWebView.setStatusListener(new CommonWebView.IWebViewStatusListener() {
@Override
public void onPageStarted(String url) {
}
@Override
public void onPageFinished(String url) {
}
@Override
public void onReceiveTitle(String title) {
if (mActionBar != null) {
mActionBar.setTitle(title);
}
}
@Override
public boolean shouldOverrideUrl(String url) {
return false;
}
});
}
/**
* 初始化actionBar布局
*/
private void initActionBar() {
mActionBar = getSupportActionBar();
mActionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE);
mActionBar.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
mActionBar.setHomeAsUpIndicator(R.drawable.ic_up);
}
/**
* 加载url
*
* @see [类、类#方法、类#成员]
*/
private void startLoading(String url) {
if (TextUtils.isEmpty(url)) {
return;
}
// 开始loading web页面
mWebView.loadUrl(url);
}
@Override
public void onBackPressed() {
if (mWebView != null && mWebView.goBack()) {
return;
}
super.onBackPressed();
}
@Override
public void finish() {
super.finish();
overridePendingTransition(0, R.anim.fade_out);
}
@Override
protected void onResume() {
super.onResume();
mWebView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mWebView.onPause();
}
}