package com.bosi.chineseclass.han.fragments;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bosi.chineseclass.AppDefine;
import com.bosi.chineseclass.BaseFragment;
import com.bosi.chineseclass.R;
import com.bosi.chineseclass.han.activitys.ZyObjectActivity;
import com.bosi.chineseclass.views.AutoChangeLineViewGroup;
import com.lidroid.xutils.view.annotation.ViewInject;
public class ZiyuanBihuaFragment extends BaseFragment {
private int mFocusedIndex = 0;
private String mId_bihua = "2";
private static final String PATH = "file:///android_asset/bsjs/";
private String [] mBihuaArray=null;
@ViewInject(R.id.ll_bihua)
private LinearLayout mLL_bihua;
private AutoChangeLineViewGroup mAutoViewGroup;
@ViewInject(R.id.webview_bihua)
private WebView mWebView;
@Override
protected View getBasedView() {
return inflater.inflate(R.layout.fragment_layout_ziyuan_bihua, null);
}
@Override
protected void afterViewInject() {
initWebView();
intiComponentView();
initBihuaArray();
addBihua();
}
private void intiComponentView() {
mAutoViewGroup = new AutoChangeLineViewGroup(mActivity);
mAutoViewGroup.setHorizontalSpacing(2);
mLL_bihua.addView(mAutoViewGroup);
}
private void addBihua() {
for(int i= 0; i<mBihuaArray.length;i++){
final int index = i;
final TextView mTextView = new TextView(mActivity);
mTextView.setTextSize(17);
mTextView.setText(mBihuaArray[i]);
if (mBihuaArray[i].length() < 2) {
mTextView.setPadding(getDimenById(R.dimen.jbzy_bihua_padding_one), 0, getDimenById(R.dimen.jbzy_bihua_padding_one), 0);
} else {
mTextView.setPadding(getDimenById(R.dimen.jbzy_bihua_padding_two), 0, getDimenById(R.dimen.jbzy_bihua_padding_two), 0);
}
mTextView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
mFocusedIndex = index;
refreshBihuaColor();
String textContext = mTextView.getText().toString();
mId_bihua = textContext.length() < 2 ? textContext.substring(0, 1) : textContext.substring(0, 2);
String path = PATH + mId_bihua + ".html";
mWebView.loadUrl(path);
}
});
mAutoViewGroup.addView(mTextView);
}
refreshBihuaColor();
}
private int getDimenById(int id){
return (int)mActivity.getResources().getDimension(id);
}
private void refreshBihuaColor(){
for (int i = 0; i < mBihuaArray.length; i++ ) {
initButtonColor(i);
}
}
private void initButtonColor(int btIndex) {
//TODO:颜色值
TextView tv = (TextView) mAutoViewGroup.getChildAt(btIndex);
if (btIndex == mFocusedIndex) {
tv.setBackgroundResource(R.drawable.bihua_bg_pressed);
} else {
tv.setBackgroundResource(R.drawable.bihua_bg_normal);
}
}
private void initBihuaArray() {
mBihuaArray = getString(R.string.jbzy_bihua_array).split("#");
}
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" })
private void initWebView() {
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDefaultTextEncodingName("UTF-8");
mWebView.setBackgroundColor(getResources().getColor(R.color.bihua_webview_color));
mWebView.addJavascriptInterface(new WebAppShowObjectInterface(), "zyobject");
String path = PATH + mId_bihua + ".html";
mWebView.loadUrl(path);
}
@Override
public void onDestroy() {
mWebView.clearCache(true);
mWebView.clearHistory();
super.onDestroy();
}
public class WebAppShowObjectInterface {
@JavascriptInterface
public void showObject(String id) {
Intent intent = new Intent(mActivity, ZyObjectActivity.class);
intent.putExtra(AppDefine.ZYDefine.ZY_OBJECT_ID, id);
mActivity.startActivity(intent);
}
}
}