本文需要添加/修改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
分享到:
相关推荐
"Android自定义九宫格抽奖控件"就是一个很好的实例,它解决了在实际业务中对抽奖界面的特殊需求,允许开发者灵活控制抽奖转盘的旋转次数、速度以及最终停留的位置。这种控件不仅能够提供更丰富的交互体验,还能适应...
Android 实现九宫格横向左右滑动 Android 实现九宫格横向左右滑动是一种常见的列表滑动方式,通过使用GridViewPager和MagicIndicator两个组件,可以实现九宫格横向左右滑动的效果。下面将详细介绍实现九宫格横向...
在Android应用开发中,实现九宫格解锁是一种常见的交互方式,它可以提供用户友好的安全验证。以下将详细介绍如何在Android中实现这个功能。 首先,我们需要创建一个自定义的View来绘制九宫格图案。在本例中,这个...
总之,这个项目为Android开发者提供了一个基础的九宫格实体按键输入法的实现,尽管缺少了联想输入这一重要功能,但依然可以作为学习和研究输入法开发的起点。通过深入研究和改造,可以将其扩展为更完善的输入解决...
在给定的“jiugong_jiesuo”压缩包文件中,可能包含了实现九宫格解锁的源代码示例。通过阅读和理解这些代码,开发者可以学习到如何结合自定义View、手势识别和数据库操作来构建自己的九宫格解锁组件。此外,还可以...
Android 九宫格抽奖 自定义view 可以根据后台返回的商品id设置商品曝光率,本地随机数随机抽奖
在Android开发中,实现九宫格布局通常会使用GridView控件,因为它允许开发者将界面划分为网格,并在每个网格中放置不同的组件。本教程主要关注如何在GridView中让每个单元格平分空间,以实现一个自适应不同数量宫格...
这个“Android九宫格解锁demo”是针对微众银行的解锁界面进行的一种模仿实现,旨在帮助开发者理解如何创建类似的功能。 首先,我们要了解九宫格的基本构成。九宫格通常由3行3列的9个可点击的小方块组成,每个方块...
源码结构简单,易于理解和学习,特别适合初学者或需要快速实现九宫格功能的开发者。 首先,我们要理解九宫格的基本概念。九宫格由9个小方格组成,每个方格可以承载一个图标或者按钮,点击后可以触发相应的事件。在...
本示例将详细介绍如何使用RecyclerView实现一个九宫格布局,并添加点击事件来实现图片的放大和缩小。 首先,你需要在你的项目中添加RecyclerView库依赖。在`build.gradle`(Module)文件中添加以下代码: ```...
在Android开发中,GridView是一种非常常用的布局控件,它能够以网格的形式展示数据,非常适合用来实现九宫格菜单。九宫格菜单通常用于应用程序的主界面,显示一系列图标和文字,用户点击图标即可进入相应的功能模块...
本文将详细讲解如何实现一个Android图片选择、预览功能,并且介绍如何设计一个支持拖拽排序的九宫格图片控件。 首先,让我们关注“Android图片选择”这一知识点。在Android中,我们可以利用系统的`Intent`来调用...
"Android实现九宫格拼图游戏" Android九宫格拼图游戏是一种非常流行的游戏,玩家需要将九个小图块按照正确的顺序排列以完成游戏。下面是对Android实现九宫格拼图游戏的详细介绍: 1. 游戏逻辑:九宫格拼图游戏的...
在实现九宫格解锁时,我们需要检测点和圆形的碰撞。我们可以使用以下代码来检测点和圆形的碰撞: private boolean isCollision(float x1, float y1, float x2, float y2, float radius) { if (Math.sqrt(Math.pow...
在Android开发中,GridView是一种非常常见的控件,用于展示数据集,通常以网格的形式排列,非常适合用来实现九宫格布局。九宫格是用户界面设计中常见的一种布局方式,尤其在应用启动页、设置菜单或者功能选择界面中...
实现九宫格课表可能需要自定义一个`View`或`ViewGroup`,扩展`LinearLayout`或`RelativeLayout`。自定义视图可以处理子视图的添加、删除和布局,根据数据动态生成格子,并处理触摸事件。 4. **RecyclerView**: ...
下面将详细介绍如何在Android中实现一个九宫格。 1. **GridView的基本概念** GridView是Android提供的一个视图控件,它继承自AbsListView,用于显示二维的数据集。每个数据项会占据一个单元格,单元格的数量由...
总的来说,无论是Android还是iOS,实现九宫格布局的关键在于理解布局管理系统(如RecyclerView或UICollectionView)的工作原理,并有效地利用它们来创建和管理视图。通过这种方式,我们可以创建出响应式、可扩展的...
综上所述,实现Android九宫格滑屏涉及到了布局设计、滑动效果、数据加载与绑定、动画效果、事件处理以及屏幕适配等多个方面。开发者需要结合具体需求,合理选择和组合这些技术,才能打造出用户体验优良的九宫格滑屏...