activity_test.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gv_1"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:gravity="center"
android:stretchMode="columnWidth"> <!--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",两列之间的边距。-->
</GridView>

activity_test2.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dp"> <ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/app_Image">
</ImageView>
<TextView
android:layout_width="wrap_content"
android:layout_below="@+id/app_Image"
android:layout_height="wrap_content"
android:text="TextView01"
android:layout_centerHorizontal="true"
android:id="@+id/app_Text">
</TextView> </RelativeLayout>

TestActicity.java

package com.hanqi.test3;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter; import java.util.ArrayList;
import java.util.HashMap; public class TestActivity extends AppCompatActivity {
int[] imid;
String[] name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test); GridView gv_1 =(GridView)findViewById(R.id.gv_1); imid = new int[]{R.drawable.apps,R.drawable.book,R.drawable.compass,R.drawable.contacts,
R.drawable.driving,R.drawable.mail,R.drawable.maps,R.drawable.media,
R.drawable.message,R.drawable.music,R.drawable.webs,R.drawable.youtube};
name = new String[]{"APP","书","指南针","联系我们", "驾驶模式"
,"邮件","地图","媒体","信息","音乐","网络","电视"}; //生成动态数组,并且转入数据
ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<imid.length;i++)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", imid[i]);//添加图像资源的ID
map.put("ItemText",name[i]);//按序号做ItemText
lstImageItem.add(map);
}
//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
SimpleAdapter saImageItems = new SimpleAdapter(this,
lstImageItem,//数据来源
R.layout.activity_test2,//activity_test2的XML实现 //动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.app_Image,R.id.app_Text});
//添加并且显示
gv_1.setAdapter(saImageItems);
//添加消息处理
gv_1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { }
});
}
}

显示效果如下:

刚开始做的时候,一直不能显示下面APP的名字,后来想了想,也没想出来,估计是太笨了,然后就参考了网上的方法,最终有了结果,效果还是不错的。

Android课程---如何用网格视图做出手机桌面APP的更多相关文章

  1. Android课程---关于GridView网格视图的学习

    activity_ui6.xml <?xml version="1.0" encoding="utf-8"?> <GridView xmlns ...

  2. 【Android】10.3 网格视图(GridView)

    分类:C#.Android.VS2015: 创建日期:2016-02-19 一.简介 网格视图(GridView)是在GridLayout的基础上添加了滚动功能的视图,即:GridView用于在可滚动 ...

  3. Android课程---优化ListView列表视图(2)

    layout_simple.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  4. Android课程---优化ListView列表视图

    activity_ui4.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns ...

  5. android学习日记16--GridView(网格视图)

    一.GridView 1.简述 GridView按照行列来显示图片或文本的一种视图,排列其实有点类似TableLayout布局, 不过和TableLayout还是差别很大的,倒比较像二维的ListVi ...

  6. Android课程---关于ListView列表视图的学习

    activity_ui3.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns ...

  7. Appium之启用手机桌面APP的多种方法

    方法一: 其实之前的随笔 Appium之连续启动多个应用(APP)中已经介绍了可以用appium下的start_activity()方法来启动一个应用,那这里就不再说明啦. 方法二: 因为有时用sta ...

  8. Android学习笔记27:网格视图GridView的使用

    网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridV ...

  9. Android 网格视图GridView的使用

    网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridV ...

随机推荐

  1. Android Activity的加载的模式

    ---恢复内容开始--- 本文来自http://www.cnblogs.com/lwbqqyumidi/p/3771542.html launchMode在多个Activity跳转的过程中扮演着重要的 ...

  2. [BZOJ2761][JLOI2011]不重复数字

    [BZOJ2761][JLOI2011]不重复数字 试题描述 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复 ...

  3. PDO和PDOStatement类常用方法

    PDO — PDO 类 PDO::beginTransaction — 启动一个事务 PDO::commit — 提交一个事务 PDO::__construct — 创建一个表示数据库连接的 PDO ...

  4. poj 并查集

    http://poj.org/problem?id=1611 水题 题意:就是找一共有多少个人感染了,0是感染学生的编号. #include <stdio.h> #include < ...

  5. MySQL5.6 新特性之GTID

    背景: MySQL5.6在5.5的基础上增加了一些改进,本文章先对其中一个一个比较大的改进"GTID"进行说明. 概念: GTID即全局事务ID(global transactio ...

  6. Python之反射,正则

    本节主要内容: 一. 反射: getattr hasattr setattr defattr 二. 补充模块中特殊的变量 三. 正则表达式 re模块 (一)反射: hasattr(object, na ...

  7. CSS3 外发光 渐变色

    渐变色--线性渐变 linear-gradient #bg { width: 100%; background: -webkit-linear-gradient(#9f1c65, #d89068,#7 ...

  8. STM32F407Discovery开发板使用环境搭建

    差不多4年前买了STM32F407Discovery这块开发板,也用它作为我的毕业设计的一部分,今晚整理一下东西,觉得这么不错的东西应该再次利用起来,做个智能家居系统的一部分什么的也不错,于是,记录一 ...

  9. Xcode免证书调试

    不用开发者账号,不用证书,不用创建APPID,不用绑定设备,不用生成配置文件,只需一个AppleID和密码(就是APPStore应用商店的ID和密码即可并不是开发者ID和密码)即可.即可完成真机调试, ...

  10. UnrealEd3视图导航

    本博客使用的版本:2010-08   [更多其他的UE3版本]     [最新的UE3版本 -- 2015-02]  [unreal engine wiki]   注:dx11被加入2011-03月版 ...