xfchenlei 2011-05-09 22:43
浏览 267
已采纳

Android中使用gridview如何让图片在上文字在下,跟进入home页一样

最近老大让做项目,我是初学者,不知道咋搞,求教各位高手!!!

  • 写回答

2条回答 默认 最新

  • txlong_onz 2011-05-10 00:11
    关注

    你说的是这样子么?[img]http://dl.iteye.com/upload/picture/pic/84063/264896a3-f973-31c3-892e-76eddb4fe088.jpg[/img]
    如果是这样子的话就看源码吧:
    gridview.xml
    [code="xml"]<?xml version="1.0" encoding="utf-8"?>
    android:id="@+id/gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    />[/code]
    item.xml
    [code="xml"]<?xml version="1.0" encoding="utf-8"?>
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:paddingBottom="4dip"
    >
    android:id="@+id/ItemImage"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerHorizontal="true"
    />
    android:id="@+id/ItemText"
    android:layout_width="wrap_content"
    android:layout_below="@+id/ItemImage"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="TextView01"
    />
    [/code]
    activity
    [code="java"]package com.test;

    import java.util.ArrayList;
    import java.util.HashMap;

    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;

    public class TestGridView extends Activity {
    private GridView gridview;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gridview);
    
        gridview = (GridView) findViewById(R.id.gridview);
    
        // 生成动态数组,并且转入数据
        ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
        for (int i = 0; i < 10; i++) {
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("ItemImage", R.drawable.icon);// 添加图像资源的ID
            map.put("ItemText", "NO." + String.valueOf(i));// 按序号做ItemText
            lstImageItem.add(map);
        }
        // 生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
        SimpleAdapter saImageItems = new SimpleAdapter(this, // 没什么解释
                lstImageItem,// 数据来源
                R.layout.item,// night_item的XML实现
                // 动态数组与ImageItem对应的子项
                new String[] { "ItemImage", "ItemText" },
                // ImageItem的XML文件里面的一个ImageView,两个TextView ID
                new int[] { R.id.ItemImage, R.id.ItemText });
        // 添加并且显示
        gridview.setAdapter(saImageItems);
        // 添加消息处理
        gridview.setOnItemClickListener(new ItemClickListener());
    }
    
    // 当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件
    class ItemClickListener implements OnItemClickListener {
        public void onItemClick(AdapterView<?> arg0,// The AdapterView where the click happened
                View arg1,// The view within the AdapterView that was clicked
                int arg2,// The position of the view in the adapter
                long arg3// The row id of the item that was clicked
        ) {
            // 在本例中arg2=arg3
            @SuppressWarnings("unchecked")
            HashMap<String, Object> item = (HashMap<String, Object>) arg0.getItemAtPosition(arg2);
            // 显示所选Item的ItemText
            setTitle((String) item.get("ItemText"));
        }
    }
    

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大