80,351
社区成员
发帖
与我相关
我的任务
分享
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private WebSettings ws = null;
List<MenuObject> listmenus = null;
PauseXML pullPauseXML;
String[] img;// 图片名称
String[] imgselected;// GridView选中图片
String[] text;// 菜单文字
String[] url;// 菜单连接
int itemIndex = 0;
int mCount = 0;
int mPosition = 1;
boolean removeFirstIcon = true;
private int[] idArray = new int[]{R.drawable.toolbar_home, R.drawable.toolbar_product,
R.drawable.toolbar_search, R.drawable.toolbar_good,R.drawable.toolbar_more};
public List getMenuConfig() {
try {
InputStream inputStream = this.getResources().getAssets().open(
"config.xml");
listmenus = pullPauseXML.getMenusFromXml(inputStream);
img = new String[listmenus.size()];// Image
text = new String[listmenus.size()];// text
url = new String[listmenus.size()];
imgselected = new String[listmenus.size()];
for (int i = 0; i < listmenus.size(); i++) {
img[i] = listmenus.get(i).getImg();// image
text[i] = listmenus.get(i).getTitle();// text
url[i] = listmenus.get(i).getUrl();
imgselected[i] = listmenus.get(i).getImgselected();
}
} catch (Exception e) {
e.printStackTrace();
}
return listmenus;
}
public GridView gridview;
WebView webView;
final Activity context = this;
// ImageView imageView;
LinearLayout ll;
int startId;
int lastId;
/**
* 通过文件名称和ImageView得到图片
*/
public void ShowImageFileFromAsset(String imagename, ImageView image) {
try {
BufferedInputStream bis = new BufferedInputStream(getAssets().open(
imagename));
Bitmap bm = BitmapFactory.decodeStream(bis);
if (mPosition == 0){
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.toolbar_home2);
image.setImageBitmap(bitmap);
}else{
image.setImageBitmap(bm);
}
// if (removeFirstIcon == false){
// Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.toolbar_home);
// image.setImageBitmap(bitmap);
// }
} catch (Exception e) {
System.out.println("==========file not found======");
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_LEFT_ICON);
getWindow().requestFeature(Window.FEATURE_RIGHT_ICON);
getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
getMenuConfig();
// 添加统计器接口
AppConnect.getInstance(this);
// imageView = (ImageView) this.findViewById(R.id.imageView);
webView = (WebView) this.findViewById(R.id.ww1);
ll = (LinearLayout) this.findViewById(R.id.ll);
ws = webView.getSettings();
// webView.requestFocus();
ws.setPluginsEnabled(true);// 要播放flash
ws.setSavePassword(true);// 保存密码
ws.setJavaScriptEnabled(true);
gridview = (GridView) this.findViewById(R.id.GridView01);
// gridview.setSelector(R.drawable.menuitemshape);
// gridview.setSelector(R.drawable.grid_selector);
webView.loadUrl("http://www.baidu.com");// WebView默认链接地址
gridview.setGravity(Gravity.CENTER);// 设置水平居中
// gridview.setSelector(new ColorDrawable(Color.TRANSPARENT));
gridview.setSelector(new ColorDrawable(Color.TRANSPARENT));
// gridview.setClickable(true);
gridview.setVerticalSpacing(0);// 垂直间隔
gridview.setHorizontalSpacing(10);// 水平间隔
gridview.setBackgroundResource(R.drawable.title_bar);// 底部菜单栏的背景颜色
webView.setWebViewClient(new WebViewClientDemo());
webView.setWebChromeClient(new WebChromeClient() {
// 设置网页加载的进度条
public void onProgressChanged(WebView view, int newProgress) {
context.setProgress(newProgress * 100);
}
});
gridview.setAdapter(new ImageAdapter());
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
mPosition = 1;
mCount ++;
// if (arg0.getChildAt(0) != arg1){
//
// }
if (mCount != 1){
LinearLayout linearLayout;
linearLayout = (LinearLayout)arg0.getChildAt(itemIndex);
ImageView imageView = (ImageView)linearLayout.getChildAt(0);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), idArray[itemIndex]);
imageView.setImageBitmap(bitmap);
}else{
if (arg0.getChildAt(0) != arg1){
LinearLayout linLayout;
linLayout = (LinearLayout)arg0.getChildAt(itemIndex);
ImageView imgView = (ImageView)linLayout.getChildAt(0);
Bitmap bmap = BitmapFactory.decodeResource(getResources(), R.drawable.toolbar_home);
imgView.setImageBitmap(bmap);
LinearLayout linearLayout;
linearLayout = (LinearLayout)arg1;
ImageView imageView = (ImageView)linearLayout.getChildAt(0);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), idArray[itemIndex]);
imageView.setImageBitmap(bitmap);
}
}
ImageView iv = new ImageView(arg0.getContext());
ShowImageFileFromAsset(listmenus.get(arg2).getImgselected(), iv);// 图片点亮
LinearLayout ll = (LinearLayout) arg1;
TextView ltext = (TextView) ll.getChildAt(1);
ll.removeAllViews();
ll.addView(ltext, 0);
ll.addView(iv, 0);
itemIndex = arg2;// 记录点亮图片的id
gridview.setSelection(arg2);
}
});
}
private class WebViewClientDemo extends WebViewClient {
// 在WebView中而不是默认浏览器中显示页面
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
private class ImageAdapter extends BaseAdapter {
// private ImageView[] imgItems;
private int selResId;
@Override
public int getCount() {
return listmenus.size();
}
@Override
public Object getItem(int arg0) {
return arg0;
}
@Override
public long getItemId(int position) {
return position;
}
public void SetFocus(int index)
{
for(int i=0;i<listmenus.size();i++)
{
if(i!=index)
{
// imgItems[i].setBackgroundResource(0);//恢复未选中的样式
// ShowImageFileFromAsset(listmenus.get(1).getImg(), imageView, true);
}
}
// imgItems[index].setBackgroundResource(selResId);//设置选中的样式
// ShowImageFileFromAsset(listmenus.get(1).getImgselected(), imageView, true);
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
mPosition = position;
gridview.setNumColumns(listmenus.size());
ViewHolder viewHolder;
if(convertView == null){
convertView = LayoutInflater.from(getApplicationContext()).inflate(
R.layout.menu_item, null);
viewHolder = new ViewHolder();
viewHolder.icon = (ImageView) convertView.findViewById(R.id.imageView);
viewHolder.text = (TextView) convertView.findViewById(R.id.textview);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)convertView.getTag();
}
// imageView = new ImageView(MainActivity.this);
viewHolder.icon.setScaleType(ImageView.ScaleType.CENTER_CROP);
viewHolder.icon.setAdjustViewBounds(false);
// TextView mTextView = (TextView) convertView
// .findViewById(R.id.textview);
viewHolder.text.setText(listmenus.get(position).getTitle());
// imageView = (ImageView) convertView.findViewById(R.id.imageView);
// if (position == 0){
// ShowImageFileFromAsset(listmenus.get(position).getImg(), null);
// }
ShowImageFileFromAsset(listmenus.get(position).getImg(), viewHolder.icon);
gridview.setSelection(position);
return convertView;
}
public class ViewHolder
{
public TextView text;
public ImageView icon;
}
}