/*
*Author:CoffeeCole
*Email:longkefan@foxmail.com
*Date:2010-8-6
*/
package com.unimob;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnKeyListener;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class MainMenuView extends Activity {
AlertDialog menuDialog;// menu�˵�Dialog
ListView listView;
GridView menuGrid, toolbarGrid;
View menuView;
int versionCode;
String versionName;
private boolean isMore = false;// menu�˵���ҳ����
/*-- MENU�˵�ѡ���±� --*/
private final int ITEM_SEARCH = 0;// ����
private final int ITEM_FILE_MANAGER = 1;// �����
private final int ITEM_DOWN_MANAGER = 2;// ���ع���
private final int ITEM_FULLSCREEN = 3;// ȫ��
private final int ITEM_MORE = 11;// �˵�
/*-- Toolbar�ײ��˵�ѡ���±�--*/
private final int TOOLBAR_ITEM_PAGEHOME = 0;// ��ҳ
private final int TOOLBAR_ITEM_BACK = 1;// �˺�
private final int TOOLBAR_ITEM_FORWARD = 2;// ǰ��
private final int TOOLBAR_ITEM_NEW = 3;// ����
private final int TOOLBAR_ITEM_MENU = 4;// �˵�
/** �˵�ͼƬ **/
int[] menu_image_array = { R.drawable.menu_search,
R.drawable.menu_filemanager, R.drawable.menu_downmanager,
R.drawable.menu_fullscreen, R.drawable.menu_inputurl,
R.drawable.menu_bookmark, R.drawable.menu_bookmark_sync_import,
R.drawable.menu_sharepage, R.drawable.menu_quit,
R.drawable.menu_nightmode, R.drawable.menu_refresh,
R.drawable.menu_more };
/** �˵����� **/
String[] menu_name_array = { "����", "�ļ�����", "���ع���", "ȫ��", "��ַ", "��ǩ",
"������ǩ", "����ҳ��", "�˳�", "ҹ��ģʽ", "ˢ��", "����" };
/** �˵�ͼƬ2 **/
int[] menu_image_array2 = { R.drawable.menu_auto_landscape,
R.drawable.menu_penselectmodel, R.drawable.menu_page_attr,
R.drawable.menu_novel_mode, R.drawable.menu_page_updown,
R.drawable.menu_checkupdate, R.drawable.menu_checknet,
R.drawable.menu_refreshtimer, R.drawable.menu_syssettings,
R.drawable.menu_help, R.drawable.menu_about, R.drawable.menu_return };
/** �˵�����2 **/
String[] menu_name_array2 = { "�Զ�����", "��ѡģʽ", "�Ķ�ģʽ", "���ģʽ", "��ݷ�ҳ",
"������", "�������", "��ʱˢ��", "����", "����", "����", "����" };
/** �ײ��˵�ͼƬ **/
int[] menu_toolbar_image_array = { R.drawable.controlbar_homepage,
R.drawable.controlbar_backward_enable,
R.drawable.controlbar_forward_enable, R.drawable.controlbar_window,
R.drawable.controlbar_showtype_list };
/** �ײ��˵����� **/
String[] menu_toolbar_name_array = { "��ҳ", "����", "ǰ��", "����", "�˵�" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// �����Զ���menu�˵�
menuView = View.inflate(this, R.layout.gridview_menu, null);
// ����AlertDialog
menuDialog = new AlertDialog.Builder(this).create();
menuDialog.setView(menuView);
menuDialog.setOnKeyListener(new OnKeyListener() {
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU)// ��������
dialog.dismiss();
return false;
}
});
menuGrid = (GridView) menuView.findViewById(R.id.gridview);
menuGrid.setAdapter(getMenuAdapter(menu_name_array, menu_image_array));
/** ����menuѡ�� **/
menuGrid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
switch (arg2) {
case ITEM_SEARCH:// ����
break;
case ITEM_FILE_MANAGER:// �����
break;
case ITEM_DOWN_MANAGER:// ���ع���
break;
case ITEM_FULLSCREEN:// ȫ��
break;
case ITEM_MORE:// ��ҳ
if (isMore) {
menuGrid.setAdapter(getMenuAdapter(menu_name_array2,
menu_image_array2));
isMore = false;
} else {// ��ҳ
menuGrid.setAdapter(getMenuAdapter(menu_name_array,
menu_image_array));
isMore = true;
}
menuGrid.invalidate();// ����menu
menuGrid.setSelection(ITEM_MORE);
break;
}
}
});
// �����ײ��˵� Toolbar
toolbarGrid = (GridView) findViewById(R.id.GridView_toolbar);
toolbarGrid.setBackgroundResource(R.drawable.channelgallery_bg);// ����
toolbarGrid.setNumColumns(5);// ����ÿ������
toolbarGrid.setGravity(Gravity.CENTER);// λ�þ���
toolbarGrid.setVerticalSpacing(10);// ��ֱ���
toolbarGrid.setHorizontalSpacing(10);// ˮƽ���
toolbarGrid.setAdapter(getMenuAdapter(menu_toolbar_name_array,
menu_toolbar_image_array));// ���ò˵�Adapter
/** �����ײ��˵�ѡ�� **/
toolbarGrid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(MainMenuView.this,
menu_toolbar_name_array[arg2], Toast.LENGTH_SHORT)
.show();
switch (arg2) {
case TOOLBAR_ITEM_PAGEHOME:
break;
case TOOLBAR_ITEM_BACK:
break;
case TOOLBAR_ITEM_FORWARD:
break;
case TOOLBAR_ITEM_NEW:
break;
case TOOLBAR_ITEM_MENU:
menuDialog.show();
break;
}
}
});
/** ListView�б� **/
listView = (ListView) findViewById(R.id.ListView_catalog);
listView.setAdapter(getMenuAdapter(menu_name_array2, menu_image_array2));
PackageInfo info;
try {
info = this.getPackageManager().getPackageInfo(
this.getPackageName(), 0);
versionCode = info.versionCode;
versionName = info.versionName;
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MyAutoUpdate mu=new MyAutoUpdate(this);
/*Toast.makeText(this, "�汾�ţ�" + versionCode + "---�汾���ƣ�" + versionName,
Toast.LENGTH_LONG).show();*/
}
public void check() {
Toast.makeText(this, ""+isNetworkAvailable(this),
Toast.LENGTH_LONG).show();
if (isNetworkAvailable(this) == false) {
return;
}
}
public boolean isNetworkAvailable(Context ctx) {
try {
ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
return (info != null && info.isConnected());
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
/**
* ����MENU
*/
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("menu");// ���봴��һ��
return super.onCreateOptionsMenu(menu);
}
@Override
/**
* ����MENU
*/
public boolean onMenuOpened(int featureId, Menu menu) {
if (menuDialog == null) {
menuDialog = new AlertDialog.Builder(this).setView(menuView).show();
} else {
menuDialog.show();
}
return false;// ����Ϊtrue ����ʾϵͳmenu
}
/**
* ����˵�Adapter
*
* @param menuNameArray
* ����
* @param imageResourceArray
* ͼƬ
* @return SimpleAdapter
*/
private SimpleAdapter getMenuAdapter(String[] menuNameArray,
int[] imageResourceArray) {
ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < menuNameArray.length; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemImage", imageResourceArray[i]);
map.put("itemText", menuNameArray[i]);
data.add(map);
}
SimpleAdapter simperAdapter = new SimpleAdapter(this, data,
R.layout.item_menu, new String[] { "itemImage", "itemText" },
new int[] { R.id.item_image, R.id.item_text });
return simperAdapter;
}
}