`
wangzy_boy
  • 浏览: 96550 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android实现九宫格

阅读更多
本文需要添加/修改3个文件:main.xml、meunitem.xml、JAVA源代码。

main.xml源代码如下,本身是个GirdView,用于装载Item:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/GridView"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:numColumns="auto_fit"
  android:horizontalSpacing="10dp"
  android:verticalSpacing="10dp"
  android:columnWidth="90dp"
  android:stretchMode="columnWidth"
  android:gravity="center"></GridView>

介绍一下里面的某些属性:

android:numColumns="auto_fit" ,GridView的列数设置为自动

android:columnWidth="90dp",每列的宽度,也就是Item的宽度
android:stretchMode="columnWidth",缩放与列宽大小同步
android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dp
android:horizontalSpacing="10dp",两列之间的边距。


接下来介绍 meunitem.xml,这个XML跟前面ListView的ImageItem.xml很类似:

<?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="wrap_content"
>
<ImageView  android:layout_width="wrap_content"
    android:id="@+id/ItemImage"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"/>
<TextView   android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ItemImage"
android:id="@+id/ItemText"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>

最后是JAVA的源代码

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainmenu);

GridView gridview = (GridView) findViewById(R.id.GridView);
ArrayList<HashMap<String, Object>> meumList = new ArrayList<HashMap<String, Object>>();

for(int i = 1;i < 10;i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.icon);
map.put("ItemText", "NO."+i);
meumList.add(map);
}

SimpleAdapter saMenuItem = new SimpleAdapter(this,
  meumList, //数据源
  R.layout.menuitem, //xml实现
  new String[]{"ItemImage","ItemText"}, //对应map的Key
  new int[]{R.id.ItemImage,R.id.ItemText});  //对应R的Id

//添加Item到网格中
gridview.setAdapter(saMenuItem);
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
                                        System.out.println("click index:"+arg2);
}
}
);
}
 
附上

效果图:
  • 大小: 15.7 KB
分享到:
评论
4 楼 atgoingguoat 2014-02-20  
meunitem.xml

R.layout.menuitem, //xml实现

名字对不上。
版主你测试过没?
3 楼 he_eh 2012-02-07  
学习了  很好很强大
2 楼 joyhub2140 2011-07-15  
如何实现每格读取一张不同的图片呢?
1 楼 gmxstar 2011-05-19  
能不能给个源包啊?meteoritstar@163.com谢谢

相关推荐

    Android自定义九宫格抽奖控件

    "Android自定义九宫格抽奖控件"就是一个很好的实例,它解决了在实际业务中对抽奖界面的特殊需求,允许开发者灵活控制抽奖转盘的旋转次数、速度以及最终停留的位置。这种控件不仅能够提供更丰富的交互体验,还能适应...

    Android实现九宫格横向左右滑动

    Android 实现九宫格横向左右滑动 Android 实现九宫格横向左右滑动是一种常见的列表滑动方式,通过使用GridViewPager和MagicIndicator两个组件,可以实现九宫格横向左右滑动的效果。下面将详细介绍实现九宫格横向...

    Android实现九宫格解锁的方法

    在Android应用开发中,实现九宫格解锁是一种常见的交互方式,它可以提供用户友好的安全验证。以下将详细介绍如何在Android中实现这个功能。 首先,我们需要创建一个自定义的View来绘制九宫格图案。在本例中,这个...

    安卓键盘输入相关-一个Android九宫格实体按键输入法支持中文但不能联想输入.rar

    总之,这个项目为Android开发者提供了一个基础的九宫格实体按键输入法的实现,尽管缺少了联想输入这一重要功能,但依然可以作为学习和研究输入法开发的起点。通过深入研究和改造,可以将其扩展为更完善的输入解决...

    android 九宫格密码解锁

    在给定的“jiugong_jiesuo”压缩包文件中,可能包含了实现九宫格解锁的源代码示例。通过阅读和理解这些代码,开发者可以学习到如何结合自定义View、手势识别和数据库操作来构建自己的九宫格解锁组件。此外,还可以...

    Android 九宫格抽奖

    Android 九宫格抽奖 自定义view 可以根据后台返回的商品id设置商品曝光率,本地随机数随机抽奖

    Android实现九宫格(GridView中各项平分空间)的方法

    在Android开发中,实现九宫格布局通常会使用GridView控件,因为它允许开发者将界面划分为网格,并在每个网格中放置不同的组件。本教程主要关注如何在GridView中让每个单元格平分空间,以实现一个自适应不同数量宫格...

    Android 九宫格解锁demo

    这个“Android九宫格解锁demo”是针对微众银行的解锁界面进行的一种模仿实现,旨在帮助开发者理解如何创建类似的功能。 首先,我们要了解九宫格的基本构成。九宫格通常由3行3列的9个可点击的小方块组成,每个方块...

    Android九宫格源码

    源码结构简单,易于理解和学习,特别适合初学者或需要快速实现九宫格功能的开发者。 首先,我们要理解九宫格的基本概念。九宫格由9个小方格组成,每个方格可以承载一个图标或者按钮,点击后可以触发相应的事件。在...

    RecyclerView实现九宫格和点击事件Demo

    本示例将详细介绍如何使用RecyclerView实现一个九宫格布局,并添加点击事件来实现图片的放大和缩小。 首先,你需要在你的项目中添加RecyclerView库依赖。在`build.gradle`(Module)文件中添加以下代码: ```...

    android用GridView实现九宫格菜单

    在Android开发中,GridView是一种非常常用的布局控件,它能够以网格的形式展示数据,非常适合用来实现九宫格菜单。九宫格菜单通常用于应用程序的主界面,显示一系列图标和文字,用户点击图标即可进入相应的功能模块...

    Android-Android图片选择预览九宫格图片控件拖拽排序九宫格图片控件

    本文将详细讲解如何实现一个Android图片选择、预览功能,并且介绍如何设计一个支持拖拽排序的九宫格图片控件。 首先,让我们关注“Android图片选择”这一知识点。在Android中,我们可以利用系统的`Intent`来调用...

    Android实现九宫格拼图游戏

    "Android实现九宫格拼图游戏" Android九宫格拼图游戏是一种非常流行的游戏,玩家需要将九个小图块按照正确的顺序排列以完成游戏。下面是对Android实现九宫格拼图游戏的详细介绍: 1. 游戏逻辑:九宫格拼图游戏的...

    Android实现九宫格解锁的实例代码

    在实现九宫格解锁时,我们需要检测点和圆形的碰撞。我们可以使用以下代码来检测点和圆形的碰撞: private boolean isCollision(float x1, float y1, float x2, float y2, float radius) { if (Math.sqrt(Math.pow...

    android 九宫格 GridView

    在Android开发中,GridView是一种非常常见的控件,用于展示数据集,通常以网格的形式排列,非常适合用来实现九宫格布局。九宫格是用户界面设计中常见的一种布局方式,尤其在应用启动页、设置菜单或者功能选择界面中...

    Android-九宫格算法实现课表

    实现九宫格课表可能需要自定义一个`View`或`ViewGroup`,扩展`LinearLayout`或`RelativeLayout`。自定义视图可以处理子视图的添加、删除和布局,根据数据动态生成格子,并处理触摸事件。 4. **RecyclerView**: ...

    Android九宫格的实现

    下面将详细介绍如何在Android中实现一个九宫格。 1. **GridView的基本概念** GridView是Android提供的一个视图控件,它继承自AbsListView,用于显示二维的数据集。每个数据项会占据一个单元格,单元格的数量由...

    代码写布局-九宫格

    总的来说,无论是Android还是iOS,实现九宫格布局的关键在于理解布局管理系统(如RecyclerView或UICollectionView)的工作原理,并有效地利用它们来创建和管理视图。通过这种方式,我们可以创建出响应式、可扩展的...

    Android 九宫格 滑屏

    综上所述,实现Android九宫格滑屏涉及到了布局设计、滑动效果、数据加载与绑定、动画效果、事件处理以及屏幕适配等多个方面。开发者需要结合具体需求,合理选择和组合这些技术,才能打造出用户体验优良的九宫格滑屏...

Global site tag (gtag.js) - Google Analytics