GridView网格控件

一.GridView控件用于显示一个网格图像, GridView主要是用在一些相册的布局显示图片。
GridView采用的是二维表的方式显示单元格,就需要设置二维表的行和列。设置GridView的列可以使用<GridView>标签的columnWidth属性。也可以使用GridView类的setColumnWidth方法来设置列数,
GridView中的单元格会根据列数自动拆行显示,因此不需要设置GridView的行数,但是需要设置android:numColumns属性。否则GridView只会显示一行。

    二.下面是GridView的实列:

  

在main.xml文件中:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical">
 6     <GridView
 7         android:id="@+id/gridview"
 8         android:layout_width="fill_parent"
 9         android:layout_height="0dp"
10         android:numColumns="4"
11         android:horizontalSpacing="1dp"
12         android:verticalSpacing="1dp"
13         android:layout_weight="1"
14         android:gravity="fill">
15     </GridView>
16     <LinearLayout
17         android:layout_width="fill_parent"
18         android:layout_height="0dp"
19         android:layout_weight="2">
20         <ImageView
21             android:id="@+id/imageview"
22             android:layout_width="fill_parent"
23             android:layout_height="fill_parent"/>
24     </LinearLayout>
25 </LinearLayout>

在cell.xml文件中:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6    <ImageView
 7                android:id="@+id/cellImageview"
 8                android:layout_width="100dp"
 9                android:layout_height="100dp"
10                android:adjustViewBounds="true"
11                android:scaleType="fitCenter"/>
12 </LinearLayout>

在.java文件中:

 1 private ImageView imageView;
 2     private GridView gridView;
 3     private int[] imageId = {R.drawable.gril1,R.drawable.gril2,R.drawable.gril3,R.drawable.gril4,R.drawable.gril5,
 4                               R.drawable.gril6,R.drawable.gril7,R.drawable.gril8,R.drawable.gril9,R.drawable.gril10,
 5                               R.drawable.gril11,R.drawable.gril12,R.drawable.gril13,R.drawable.gril14,R.drawable.gril15,
 6                               R.drawable.gril16,R.drawable.gril17,R.drawable.gril18,R.drawable.gril19,R.drawable.gril20};
 7
 8     @Override
 9     protected void onCreate(Bundle savedInstanceState) {
10         super.onCreate(savedInstanceState);
11         requestWindowFeature(Window.FEATURE_NO_TITLE);
12         setContentView(R.layout.main);
13
14         imageView = (ImageView) findViewById(R.id.imageview);
15         imageView.setImageResource(imageId[0]);
16
17         gridView = (GridView) findViewById(R.id.gridview);
18         List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
19         Map<String,Object> map = null;
20         for(int i = 0;i < imageId.length;i++){
21             map = new HashMap<String, Object>();
22             map.put("imageId", imageId[i]);
23             list.add(map);
24         }
25
26         SimpleAdapter adapter = new SimpleAdapter(this, list,R.layout.cell, new String[]{"imageId"}, new int[]{R.id.cellImageview});
27         gridView.setAdapter(adapter);
28         gridView.setOnItemSelectedListener(new OnItemSelectedListener() {
29
30             @Override
31             public void onItemSelected(AdapterView<?> parent, View view,
32                     int position, long id) {
33                 // TODO 自动生成的方法存根
34                 imageView.setImageResource(imageId[position]);
35             }
36
37             @Override
38             public void onNothingSelected(AdapterView<?> parent) {
39                 // TODO 自动生成的方法存根
40
41             }
42         });
43
44         gridView.setOnItemClickListener(new OnItemClickListener() {
45
46             @Override
47             public void onItemClick(AdapterView<?> parent, View view,
48                     int position, long id) {
49                 // TODO 自动生成的方法存根
50                 imageView.setImageResource(imageId[position]);
51             }
52         });
53
54
55     }

运行结果:

时间: 2024-10-10 01:22:51

GridView网格控件的相关文章

DevExpress XtraGrid网格控件示例六:自定义合并单元格

假设 "Order Date" 列中包含日期/时间值.如果视图的GridOptionsView.AllowCellMerge选项设置为true,若相邻两个单元格值是日期/时间值的话,这两个相邻单元格便会合并.下面的代码介绍了如何合并例单元格的日期部分,要覆盖默认的单元格合并机制,需要处理一下GridView.CellMerge事件. C# using DevExpress.XtraGrid.Views.Grid; // ... private void gridView1_CellMe

DevExpress XtraGrid网格控件示例四:初始化新建行的单元格

下面的代码显示了如何利用ColumnView.InitNewRow事件初始化新创建行的PurchaseDate字段: C# 1 using DevExpress.XtraGrid.Views.Grid; 2 private void gridView1_InitNewRow(object sender, InitNewRowEventArgs e) { 3 DevExpress.XtraGrid.Views.Grid.GridView view = sender as Grid.GridView

DevExpress XtraGrid网格控件示例五:验证终端用户输入的数据

本示例中禁用了无效的“colBudget”列单元格赋值.单元格值应该大于零且小于1,000,000.BaseView.ValidatingEditor事件处理检查输入值的有效性.如果出现无效的单元格赋值,BaseView.InvalidValueException事件会显示异常消息框.在这样情况下,调用GridView.HideEditor方法以便放弃所做的更改. C# 1 using DevExpress.XtraEditors.Controls; 2 // ... 3 private voi

本示例主要展示如何在XtraGrid网格控件(包含在DevExpress WinForms套包中)的主视图中指定HyperLinkEdit控件作为列编辑器

首先,我们需要创建一个相应的repository item,并将其添加到EditorContainer.RepositoryItems属性所指定的repository items的内部集合中.然后,利用GridColumn.ColumnEdit属性,将repository item分配到列. C# 1 RepositoryItemHyperLinkEdit repHyperLink = new RepositoryItemHyperLinkEdit(); 2 gridControl1.Repos

DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值

使用下面的示例代码,以获得当前编辑的值. C# 1 string editingValue; 2 if(gridControl1.KeyboardFocusView.IsEditing) 3 editingValue = gridControl1.KeyboardFocusView.EditingValue.ToString(); DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值,布布扣,bubuko.com

Gridview表格控件

Gridview表格控件 效果图: 分析: 使用和ListvVew很像,都是经过适配器将数据绑定到控件上 具体步骤如下: 1.创建GridView控件,并指定列数 android:numColumns="3" 2.创建显示数据项的数据容器,是一个Lauout文件,里面一个ImageView,一个TextView 上面是ImageView,"小白10"是TextView显示的 3.创建好数据,这里用List来实现 private List<HashMap<

DevExpress XtraGrid网格控件示例七:列过滤

Example 1: 下面的代码示例,展示了如何过滤开头字母为F的海运国家.利用ColumnFilterInfo 对象创建所需的过滤器.然后,为其分配GridColumn.FilterInfo属性. C# 1 using DevExpress.XtraGrid.Columns; 2 gridView1.Columns["ShipCountry"].FilterInfo = 3 new ColumnFilterInfo("[ShipCountry] LIKE 'F%'"

网格控件的简单实用

一,新建一个BCG工程CBCGPGridCtrlSingle,基于对话框. 二,CCBCGPGridCtrlSingleDlg类定义变量. CBCGPGridCtrl m_grid; 三,CCBCGPGridCtrlSingleDlg::OnInitDialog对网格控件进行初始化. CRect r(0,0,200,200); m_grid.Create(WS_CHILD, r, this, 1); m_grid.ShowWindow(SW_SHOW); m_grid.InsertColumn 

GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记 解决办法  重写 VerifyRenderingInServerForm: public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); } VerifyRenderingInServ