GridView的分页滑动显示实现跳转Activity
首先定义一个实现GridView显示的图片页面,将所有要跳转的图片分成三页显示
?
MainManagerActivity
package com.hwtt.android.sellmanager.ui;import java.util.ArrayList;import java.util.List;import org.apache.http.NameValuePair;import org.apache.http.message.BasicNameValuePair;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.SharedPreferences;import android.location.LocationManager;import android.os.Bundle;import android.provider.Settings;import android.support.v4.view.ViewPager;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import com.hwtt.android.sellmanager.adapter.MainGridViewAdapter;import com.hwtt.android.sellmanager.adapter.MainPagerAdapter;import com.hwtt.android.sellmanager.bean.ItemInfo;import com.hwtt.android.sellmanager.utils.HttpUtil;public class MainManagerActivity extends BaseReceiverActivity {private SharedPreferences sp1;GridView gridView;ViewPager pager;Context context = MainManagerActivity.this;MainPagerAdapter adapter;Class<?> mActivities1[] = { AttendanceManagerActivity.class,GoodsSalesManagerActivity.class, GoodsManagerActivity.class,TaskManagerActivity.class, NoticeActivity.class,PepoleManagerActivity.class };Class<?> mActivities2[] = { CustomerActivity.class,SystemSetActivity.class, InquireActivity.class,NetWorkActivity.class, MessageActivity.class,AddressBookActivity.class };Class<?> mActivities3[] = { ContactActivity.class,SMSMessageActivity.class };protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.sellmainpage);sp1 = this.getSharedPreferences("userInfo", Context.MODE_WORLD_READABLE);init();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);pager.setCurrentItem(requestCode);}void init() {pager = (ViewPager) findViewById(R.id.vPager);ArrayList<View> list = new ArrayList<View>();LayoutInflater layout = getLayoutInflater();View view1 = layout.inflate(R.layout.lay1, null);View view2 = layout.inflate(R.layout.lay2, null);View view3 = layout.inflate(R.layout.lay3, null);GridView gridview1 = (GridView) view1.findViewById(R.id.lay1_grid_view);GridView gridview2 = (GridView) view2.findViewById(R.id.lay2_grid_view);GridView gridview3 = (GridView) view3.findViewById(R.id.lay3_grid_view);MainGridViewAdapter gridAdapter1 = new MainGridViewAdapter(getList(1),context);MainGridViewAdapter gridAdapter2 = new MainGridViewAdapter(getList(2),context);MainGridViewAdapter gridAdapter3 = new MainGridViewAdapter(getList(3),context);gridview1.setAdapter(gridAdapter1);gridview2.setAdapter(gridAdapter2);gridview3.setAdapter(gridAdapter3);list.add(view1);list.add(view2);list.add(view3);MainPagerAdapter adapter = new MainPagerAdapter(list);pager.setAdapter(adapter); gridview1.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {onListItemClick(arg2, 1);}});gridview2.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {onListItemClick(arg2, 2);}});gridview3.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {onListItemClick(arg2, 3);}});}void onListItemClick(int index, int page) {if (page == 1) {if (index < 0 || index >= mActivities1.length)return;Intent intent = new Intent(context, mActivities1[index]);startActivityForResult(intent, page - 1);// this.startActivity(intent);} else if (page == 2) {if (index < 0 || index >= mActivities2.length)return;Intent intent = new Intent(context, mActivities2[index]);startActivityForResult(intent, page - 1);} else {if (index < 0 || index >= mActivities3.length) {return;} else if (index == 0) {Intent intent = new Intent(context, mActivities3[index]);startActivityForResult(intent, page - 1);} else if (index == 1) {Intent intent = new Intent(Intent.ACTION_VIEW);intent.putExtra("address", " ");intent.putExtra("sms_body", " ");intent.setType("vnd.android-dir/mms-sms");startActivity(intent);}}int version = Integer.valueOf(android.os.Build.VERSION.SDK);if (version >= 5) {overridePendingTransition(R.anim.fade, R.anim.hold);//滑动分页的形式// overridePendingTransition(R.anim.alpha_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.alpha_scale_rotate,// R.anim.my_alpha_action);// overridePendingTransition(// R.anim.alpha_scale_translate_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.alpha_scale_translate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.alpha_scale,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.alpha_translate_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.alpha_translate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.my_rotate_action,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.my_scale_action,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.my_translate_action,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.myanimation_simple,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.myown_design,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.scale_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.scale_translate_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.scale_translate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.translate_rotate,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.hyperspace_in,// R.anim.hyperspace_out);// overridePendingTransition(R.anim.shake,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.push_left_in,// R.anim.push_left_out);// overridePendingTransition(R.anim.push_up_in,// R.anim.push_up_out);// overridePendingTransition(R.anim.slide_left,// R.anim.slide_right);// overridePendingTransition(R.anim.slide_top_to_bottom,// R.anim.my_alpha_action);// overridePendingTransition(R.anim.wave_scale,// R.anim.my_alpha_action);}}protected void onStart() {super.onStart();}protected void dialog() {AlertDialog.Builder builder = new Builder(context);builder.setMessage("确定要退出吗?");builder.setTitle("提示");builder.setPositiveButton("确认",new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();// update zongshiwei close all activity by// broadcastReceivermyExit();// finish();String path =getResources().getString(R.string.exitPPTUrl);List<NameValuePair> list = new ArrayList<NameValuePair>();NameValuePair value1 = new BasicNameValuePair("username", sp1.getString("USER_NAME", ""));list.add(value1);HttpUtil httpUtil = new HttpUtil();String result = httpUtil.getMsgFromServer(path, list);}});builder.setNegativeButton("取消",new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}protected void myExit() {Intent intent = new Intent();intent.setAction("ExitApp");this.sendBroadcast(intent);super.finish();}public boolean onKeyDown(int keyCode, android.view.KeyEvent event) {if (KeyEvent.KEYCODE_BACK == keyCode && event.getRepeatCount() == 0)dialog();return true;};ArrayList<ItemInfo> getList(int i) {ArrayList<ItemInfo> list1 = new ArrayList<ItemInfo>();ArrayList<ItemInfo> list2 = new ArrayList<ItemInfo>();ArrayList<ItemInfo> list3 = new ArrayList<ItemInfo>();ItemInfo info1 = new ItemInfo();info1.setItem_img(R.drawable.advancedance_icon);info1.setItem_name("考勤管理");ItemInfo info2 = new ItemInfo();info2.setItem_img(R.drawable.sale_manager);info2.setItem_name("销量管理");ItemInfo info3 = new ItemInfo();info3.setItem_img(R.drawable.goods_mana);info3.setItem_name("货品管理");ItemInfo info4 = new ItemInfo();info4.setItem_img(R.drawable.task_mana);info4.setItem_name("任务管理");ItemInfo info5 = new ItemInfo();info5.setItem_img(R.drawable.ico_msg_notice);info5.setItem_name("通知公告");ItemInfo info6 = new ItemInfo();info6.setItem_img(R.drawable.pepole_locat);info6.setItem_name("人员管理");ItemInfo info7 = new ItemInfo();info7.setItem_img(R.drawable.kehuguanli);info7.setItem_name("客户管理");ItemInfo info8 = new ItemInfo();info8.setItem_img(R.drawable.systemset);info8.setItem_name("系统设置");ItemInfo info9 = new ItemInfo();info9.setItem_img(R.drawable.cru);info9.setItem_name("查询统计");ItemInfo info10 = new ItemInfo();info10.setItem_img(R.drawable.network_manage);info10.setItem_name("网点巡视");ItemInfo info11 = new ItemInfo();info11.setItem_img(R.drawable.upload_message);info11.setItem_name("信息上报");ItemInfo info12 = new ItemInfo();info12.setItem_img(R.drawable.address_book);info12.setItem_name("公司通讯录");ItemInfo info13 = new ItemInfo();info13.setItem_img(R.drawable.call);info13.setItem_name("多人会话");ItemInfo info14 = new ItemInfo();info14.setItem_img(R.drawable.sms);info14.setItem_name("短信群发");list1.add(info1);list1.add(info2);list1.add(info3);list1.add(info4);list1.add(info5);list1.add(info6);list2.add(info7);list2.add(info8);list2.add(info9);list2.add(info10);list2.add(info11);list2.add(info12);list3.add(info13);list3.add(info14);if (i == 1)return list1;else if (i == 2)return list2;elsereturn list3;}}
?
定义填充页面的图片跟图片下边的文字MainGridViewAdapter
?
?
package com.hwtt.android.sellmanager.adapter;import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.hwtt.android.sellmanager.bean.ItemInfo;import com.hwtt.android.sellmanager.ui.R;public class MainGridViewAdapter extends BaseAdapter {ArrayList<ItemInfo> list;Context context; public MainGridViewAdapter(ArrayList<ItemInfo> list,Context context){this.list=list;this.context=context;}public int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int position) {return list.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if(convertView==null){LayoutInflater layout=LayoutInflater.from(context);convertView=layout.inflate(R.layout.main_page_item, null);}ImageView itemImg=(ImageView)convertView.findViewById(R.id.item_img);TextView itemName=(TextView)convertView.findViewById(R.id.item_tv);itemImg.setImageResource(list.get(position).getItem_img());itemName.setText(list.get(position).getItem_name());return convertView;}}
?
然后定义分页的MainPagerAdapter
?
package com.hwtt.android.sellmanager.adapter;import java.util.ArrayList;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.os.Parcelable;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.widget.Button;import com.hwtt.android.sellmanager.ui.R;public class MainPagerAdapter extends PagerAdapter{ArrayList<View> list;public MainPagerAdapter (ArrayList<View> list) {this.list=list;}public void destroyItem(View arg0, int arg1, Object arg2) {((ViewPager) arg0).removeView(list.get(arg1));}@Overridepublic void finishUpdate(View arg0) {// TODO Auto-generated method stub}@Overridepublic int getCount() {return list.size();}@Overridepublic Object instantiateItem(View arg0, int arg1) {((ViewPager) arg0).addView(list.get(arg1),0);return list.get(arg1);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==(arg1);}@Overridepublic void restoreState(Parcelable arg0, ClassLoader arg1) {}@Overridepublic Parcelable saveState() {return null;}@Overridepublic void startUpdate(View arg0) {}}
?
然后定义填充图片与文字的XML???? main_page_item
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ><ImageView android:id="@+id/item_img" android:layout_width="80dp" android:layout_height="70dp" android:layout_marginTop="15dp" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:scaleType="fitXY"/><TextView android:id="@+id/item_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/item_img" android:maxLines="2" android:layout_alignLeft="@id/item_img" android:layout_alignRight="@id/item_img" android:gravity="center_horizontal" android:textSize="13sp" android:textColor="#000000" /></RelativeLayout>
?还有就是显示GridView的布局?? sellmainpage
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/main_tv_hint" android:layout_width="fill_parent" android:layout_height="50dp" android:textColor="#000000" android:gravity="center" android:layout_marginTop="30dp" android:textSize="25sp" android:text="移动销售管家"/> <TextView android:id="@+id/weather_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true"/> <android.support.v4.view.ViewPager android:id="@+id/vPager" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_below="@id/main_tv_hint" android:layout_gravity="center" android:layout_weight="1.0" android:flipInterval="30" android:persistentDrawingCache="animation" /> <!-- <GridView android:id="@+id/main_manager_grid_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnWidth="90dp" android:gravity="center" android:horizontalSpacing="10dip" android:layout_margin="15dip" android:layout_marginTop="60dp" android:numColumns="3" android:verticalSpacing="20dip" /> --></RelativeLayout>
?
最后定义一个填充GridView图片与文字的一个bean? ItemInfo.java
package com.hwtt.android.sellmanager.bean;public class ItemInfo {int item_img;String item_name;public int getItem_img() {return item_img;}public void setItem_img(int item_img) {this.item_img = item_img;}public String getItem_name() {return item_name;}public void setItem_name(String item_name) {this.item_name = item_name;}}
?
?