首先定义一个实现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(); } @Override protected 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() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { onListItemClick(arg2, 1); } }); gridview2.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { onListItemClick(arg2, 2); } }); gridview3.setOnItemClickListener(new OnItemClickListener() { @Override public 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 // broadcastReceiver myExit(); // 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; else return 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 stub return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public 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)); } @Override public void finishUpdate(View arg0) { // TODO Auto-generated method stub } @Override public int getCount() { return list.size(); } @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(list.get(arg1),0); return list.get(arg1); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==(arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } @Override public 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; } }
相关推荐
综上所述,实现"GridView的左右滑动+分页"涉及的关键技术包括自定义ViewGroup或利用现有库实现滑动,使用分页加载策略和监听滚动事件,以及与网络通信和数据解析。这一系列操作需要开发者对Android SDK、UI组件和...
本教程将详细讲解如何实现GridView的分页和滑动效果。 首先,我们需要了解GridView的基本用法。GridView继承自AbsListView,通过设置其`android:numColumns`属性来指定每行显示的列数。数据通常是通过Adapter来绑定...
本篇文章将详细讲解如何在Android中利用GridView实现分页加载功能。 首先,理解GridView的基本概念。GridView是ListView的一种变体,它按照指定的列数来排列子视图。默认情况下,GridView会一次性加载所有数据,这...
本篇文章将深入探讨如何在Android中实现GridView的分页显示。 首先,理解GridView的基本原理。GridView继承自AbsListView,它会根据设定的列数自动调整每个单元格的宽度。数据通常是通过Adapter来提供,Adapter负责...
本教程将详细讲解如何实现一个使用GridView进行分页显示的功能,同时adapter继承自BaseAdapter。 一、GridView基础 GridView是一个可滚动的视图,它将数据项按行和列的格式排列。每个数据项都由一个View表示,这些...
首先,我们需要了解一些基本的属性及其作用,以便更好地掌握如何在GridView中实现分页显示。 ##### 表1:GridView控件分页属性 | 属性 | 描述 | |---------------|----------------------------------------------...
GridView 分页可以通过自定义分页控件或使用 ASP.NET 提供的默认分页控件来实现。自定义分页控件可以根据需要进行调整样式和布局,而默认分页控件则提供了基本的分页功能。 GridView 分页的优点 GridView 分页可以...
在.NET 2.0时代,GridView控件就已经内置了基本的分页功能,无需依赖第三方控件就能实现数据的分页显示。 在ASP.NET中,GridView用于动态呈现来自数据库或其他数据源的数据,它能够自动生成列,并且支持排序、分页...
在这个场景中,我们将探讨如何将GridView与MySQL数据库连接,并实现分页显示功能。这涉及到多个知识点,包括数据库连接、SQL查询、数据绑定以及分页逻辑。 首先,我们需要创建一个数据库连接。在C#中,我们可以使用...
3. **分页逻辑**:实现分页涉及到计算每一页的数据量,以及根据用户的选择(如页码或每页显示的行数)跳转到相应的数据。这通常通过编程逻辑来实现,例如在页码改变时重新加载数据。 4. **事件处理**:为了响应用户...
本文将详细介绍如何在C#中使用GridView控件实现“万能”分页,即一种通用的分页解决方案,通过编写一个分页方法,就能适应不同的数据集和显示需求。 #### 二、理解GridView与分页 **GridView**是ASP.NET中的一个...
本教程将深入探讨如何利用GridView实现自定义分页功能,并提供一套完整的精美样式,这些样式是通过CSS(层叠样式表)编写的,能够使数据展示更具吸引力和用户体验。 首先,我们要理解GridView的基本结构和工作原理...
在这个特定的案例中,“gridview分页显示手机所有应用”指的是如何使用GridView来分页展示手机上安装的所有应用程序的图标和名称。 首先,我们需要理解GridView的基本用法。GridView继承自AbsListView,它会将数据...
本篇将深入探讨如何利用`ViewPager`和`GridView`来实现宫格横向滑动切换的分页效果。 首先,`ViewPager`是Android SDK中的一个强大的组件,它允许用户左右滑动来切换不同的页面,通常用于实现类似Tab布局的效果。`...
6. **用户交互**:可自定义GridView的分页栏,例如,显示总页数,或者提供快速跳转到指定页的功能。 通过这样的方式,我们实现了利用存储过程和GridView分页用户控件的强大组合,使得在大量数据处理时既能保证性能...
具体实现时,可以在Activity或Fragment中添加相应的逻辑,根据用户是否已登录或密码验证结果来决定是否显示这个定制的GridView。 接下来,我们将关注实现左右滑动的关键步骤: 1. **自定义GridView**:创建一个新...
本篇文章将深入探讨如何在C#语言的ASP.NET项目中实现GridView的分页功能,并结合SQL Server数据库进行数据检索。 首先,我们需要在.aspx页面上创建一个GridView控件,并设置其分页属性。在GridView的声明式语法中,...
"安卓Andriod源码——gridview分页效果.zip"这个压缩包可能包含了一个示例项目,演示了如何在GridView中实现分页效果。以下是对这个主题的详细讲解: 1. GridView基本概念: GridView继承自AbsListView,它会将...
本篇文章将详细介绍如何在GridView控件中实现分页功能。 一、GridView分页基础 1. GridView配置 首先,我们需要在ASP.NET页面上添加一个GridView控件,并设置其`AllowPaging`属性为`true`,以启用分页功能。例如:...
在提供的压缩包文件中,"JavaApk源码说明.txt"可能是对一个包含分页实现的Java Android应用的源码解释,而"HorizontalGridView"可能是一个实现水平滚动的GridView的自定义控件。通过研究这些源码,我们可以深入理解...