android九宫格实现,开始以为很复杂,其实只要知道了如何布局就很简单了。
先分析一下原理:
1:我们需要先定义一个主布局文件,宽度和列数用自适应的
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
2:在定义一个子布局,子布局主要是控制九宫格每格的布局,例子是图文垂直布局。
3:在代码里面用SimpleAdapter将数据复制给布局文件,循环布局,就实现了九宫格
直接上代码:android九宫格主布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView1"
android:layout_width="fill_parent"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:columnWidth="75dp"
android:gravity="center"
android:layout_height="fill_parent">
</GridView>
android九宫格子布局文件layout_gridview_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:id="@+id/imageView_ItemImage"
android:layout_width="wrap_content"
android:src="@drawable/icon"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
>
</ImageView>
<TextView android:id="@+id/textView_ItemText"
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView_ItemImage"
android:layout_centerHorizontal="true"
>
</TextView>
</RelativeLayout>
android九宫格代码文件:
package com.mixian.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class GridLayoutActivity extends Activity {
/** Called when the activity is first created. */
private GridView _gridView1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
_gridView1 = (GridView) findViewById(R.id.gridView1);
List<HashMap<String, Object>> lst = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 12; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("itemImage", R.drawable.icon);
map.put("itemText", "item" + i);
lst.add(map);
}
SimpleAdapter adpter = new SimpleAdapter(this, lst,
R.layout.layout_gridview_item, // 指定 子项的布局文件的ID
new String[] { "itemImage", "itemText" }, // 指定 数据的列
new int[] { R.id.imageView_ItemImage, R.id.textView_ItemText });// 指定数据的列对应到的
// 绑定的目标控件
_gridView1.setAdapter(adpter);
_gridView1.setOnItemClickListener(onclickcistener);
}
private OnItemClickListener onclickcistener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Object obj = _gridView1.getAdapter().getItem(arg2);
HashMap<String, Object> map = (HashMap<String, Object>) obj;
String str = (String) map.get("itemText");
Toast.makeText(getApplicationContext(), "" + str, 0).show();
}
};
}
分享到:
相关推荐
这个“Android九宫格解锁demo”是针对微众银行的解锁界面进行的一种模仿实现,旨在帮助开发者理解如何创建类似的功能。 首先,我们要了解九宫格的基本构成。九宫格通常由3行3列的9个可点击的小方块组成,每个方块...
Android 九宫格抽奖 自定义view 可以根据后台返回的商品id设置商品曝光率,本地随机数随机抽奖
这个“Android九宫格源码”是使用Eclipse IDE编写的,包含两个小型的Demo,旨在展示如何实现这样一个交互式的布局。源码结构简单,易于理解和学习,特别适合初学者或需要快速实现九宫格功能的开发者。 首先,我们要...
总之,九宫格密码解锁是Android平台上的一个重要功能,它的实现涉及到了Android图形绘制、事件处理、数据持久化等多个方面。掌握这一技术不仅有助于提升开发者的技能,也能为用户提供更便捷、个性化的解锁体验。对于...
"Android自定义九宫格抽奖控件"就是一个很好的实例,它解决了在实际业务中对抽奖界面的特殊需求,允许开发者灵活控制抽奖转盘的旋转次数、速度以及最终停留的位置。这种控件不仅能够提供更丰富的交互体验,还能适应...
下面将详细介绍如何在Android中实现一个九宫格。 1. **GridView的基本概念** GridView是Android提供的一个视图控件,它继承自AbsListView,用于显示二维的数据集。每个数据项会占据一个单元格,单元格的数量由...
本文将详细讲解如何实现一个Android图片选择、预览功能,并且介绍如何设计一个支持拖拽排序的九宫格图片控件。 首先,让我们关注“Android图片选择”这一知识点。在Android中,我们可以利用系统的`Intent`来调用...
【Android九宫格游戏源码解析】 Android九宫格游戏是一款经典的移动平台小游戏,适合初学者用来学习Android应用开发的基本概念和技术。这个源码项目提供了一个很好的起点,可以帮助开发者了解如何在Android环境中...
标题“android九宫格选择照片”涉及到的是在Android平台上实现一个常见的用户界面功能,即九宫格图片选择器。这个功能通常用于应用中让用户能够从手机相册中选取多张图片,例如在社交应用或者个人资料设置中。下面将...
下面将详细介绍如何在Android中实现一个九宫格源码。 首先,我们需要了解`GridLayout`和`GridView`。`GridLayout`是Android的一种布局管理器,它可以将子视图均匀地分布在网格中,每个子视图占据相同大小的空间。而...
在Android开发中,GridView是一种非常常见的控件,用于展示数据集,通常以网格的形式排列,非常适合用来实现九宫格布局。九宫格是用户界面设计中常见的一种布局方式,尤其在应用启动页、设置菜单或者功能选择界面中...
在Android开发中,GridView是一种非常常用的布局控件,它能够以网格的形式展示数据,非常适合用来实现九宫格菜单。九宫格菜单通常用于应用程序的主界面,显示一系列图标和文字,用户点击图标即可进入相应的功能模块...
综上所述,实现Android九宫格滑屏涉及到了布局设计、滑动效果、数据加载与绑定、动画效果、事件处理以及屏幕适配等多个方面。开发者需要结合具体需求,合理选择和组合这些技术,才能打造出用户体验优良的九宫格滑屏...
在Android开发中,九宫格滑动解锁是一种常见的用户界面元素,它为用户提供了一种安全且直观的设备解锁方式。这个源码实例是专门针对这一功能实现的,非常适合初学者来学习和理解Android编程中的触摸事件处理和自定义...
总之,Android中的九宫格实现主要依赖于`GridView`组件和自定义的数据适配器。通过灵活地配置布局和适配器,我们可以实现各种定制化的九宫格效果。理解`GridView`的内部机制对于优化性能和提升用户体验至关重要。
在Android开发中,自定义控件能够满足特定的界面需求,比如实现滑动解锁九宫格功能。这个功能常见于一些应用中,如支付宝,它提供了安全且有趣的用户交互方式。下面我们将详细讨论如何实现这样一个自定义控件。 ...
一个初级的Android 九宫格UI布局的实现,演示了实现方法,并附带了例子的源代码。主要是向大家演示九宫格的实现过程和方法,将对应map的Key 、对应R的Id添加Item到网格中,面向android开发者新手,源码仅供参考。
本资源“安卓键盘输入相关-一个Android九宫格实体按键输入法支持中文但不能联想输入.rar”提供了一个专为Android平台设计的九宫格实体按键输入法的源代码,它允许用户通过实体按键输入中文,但不包含联想输入功能。...