GridView九宫图
了解下
<!--android:numColumns="auto_fit"--列数设置为自动;
android:columnWidth="90dp"--每列的列宽,也就是item的宽度
android:verticalSpacing="1dp"--两行之间的边距
android:horizontalSpacing="1dp"--两列之间的边距
android:stretchMode="columnWidth"--缩放与列宽大小同步 -->
先创建res/layou下的gridview_mian.xml和gridview_item.xml分别如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/gridview_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:verticalSpacing="1dp"
android:horizontalSpacing="1dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageview_id"
android:layout_width="100dp"
android:layout_height="100dp"
>
</ImageView>
<TextView
android:id="@+id/textview_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
/> </LinearLayout>
activity.java
package com.example.gridview2; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Gallery;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast; public class MainActivity extends Activity implements OnItemClickListener{
private int[]imageID={
R.drawable.logo1,R.drawable.logo2,
R.drawable.logo3,R.drawable.logo4,
R.drawable.logo5,R.drawable.logo6,
R.drawable.logo7,R.drawable.logo8,
R.drawable.logo9
}; private GridView gridview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview_main);
gridview=(GridView)findViewById(R.id.gridview_id);
//生成动态数组,并且转入数据
ArrayList<HashMap<String, Object>>list=new ArrayList<HashMap<String,Object>>();
for(int i=0;i<9;i++){
HashMap<String, Object>map=new HashMap<String, Object>();
map.put("ItemImage",imageID[i]);
map.put("itemtext","Item"+String.valueOf(i));
list.add(map);
}
//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.gridview_item, new String[]{"ItemImage","itemtext"},
new int[]{R.id.imageview_id,R.id.textview_id});
gridview.setAdapter(adapter);//添加并且显示
gridview.setOnItemClickListener(this);//添加消息处理
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
HashMap<String, Object> item=(HashMap<String, Object>)parent.getItemAtPosition(position);
setTitle((String)item.get("itemtext")); } }
GridView九宫图的更多相关文章
- Android入门第八篇之GridView(九宫图)
本文来自http://blog.csdn.net/hellogv/ GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridVi ...
- Android GridView(九宫图)
GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选! <?xml version="1.0" encoding="u ...
- cocos2d-x创建的九宫图变白块
用UIImageView 创建的九宫图变白,直接用CCScale9Sprite创建的也是变白,找了半天原来是自己为了调整UI方便,开启了CCSprite边缘画线导致的,在ccConfig.h下 宏CC ...
- Qt实现九宫图类控件
<1>. 头文件(类声明) class CPreviewWidge : public QWidget { Q_OBJECT public: CPreviewWidge( ); ~CPrev ...
- swift3.0 代码创建经典界面的九宫图--优化篇
在上一篇只是简单实现了九宫图效果,本章需要形成APP界面九宫图效果 override func viewDidLoad() { super.viewDidLoad() createnine() } / ...
- Android九宫图(draw9patch)
左边和上边的线决定重复的区域: 右边和下边的线决定显示内容的区域:
- cocos2dx九宫图使用方法
九宫格Sprite: itemBg = Scale9Sprite::create("pop/achieve_itembg.png");if(!itemBg)return false ...
- swift3.0 创建经典界面的九宫图
网络上很多例子都是早期的 Object-C的效果,现在用到Swift3.0开发,故把网络上的例子翻译过来,达到基本的效果.可是现在这个还不算很满意,再下次继续进行优化 override func vi ...
- IOS 九宫图解锁(封装)
NJLockView.h /.m @class NJLockView; @protocol NJLockViewDelegate <NSObject> - (void)lockViewDi ...
随机推荐
- android 自定义组件-带图片的textView
1. 定义属性 <?xml version="1.0" encoding="utf-8"?> <resources> <decla ...
- Python 删除 数组
numpy删除一列 从0开始,第三个参数是第几个维度 可以多删几个
- C# 创建系统服务并定时执行【转载】
[转载]http://www.cnblogs.com/hfzsjz/archive/2011/01/07/1929898.html C# 创建系统服务并定时执行 1.新建项目 --> Windo ...
- 项目中使用的ajax异步读取数据结构设计
设计稍微复杂了一点,完成ajax读取功能涉及到了很多页面.虽然如此,但感觉比较灵活. 和传统方法唯一的区别在于多了一层数据容器控件,里面提供了显示数据的HTML元素及相应的JS方法. 这样数据控件指生 ...
- csu 1326 The contest
裸的 并查集 + 分组背包: #include<iostream> #include<cstring> #include<algorithm> #inclu ...
- Heritrix源码分析(一) 包介绍(转)
本博客属原创文章,欢迎转载!但转载请务必注明出处:http://guoyunsky.iteye.com/blog/613249 本博客已迁移到本人独立博客: http://www.yun5u.com/ ...
- 利用命令控制台cmd进入某个硬盘的某个文件夹的命令是什么?
在命令行窗口中输入F:后回车就可以切换到F盘,如果想查看F盘的内容,可以再输入dir后回车 (输入“F”后要再输入一个“ :”再回车才行哦)
- 批量还原数据库 SQL Server 2008
1.如果你够懒,不想一步一步点路径,一步一步选择 2.如果你连单个备份数据库的存储过程都不想多执行,一般每还原一个需要修改数据库名 下面的脚本适合你: /*********************** ...
- webservice注释
@WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值为 Java 类的简单名称 + Service.(字符 ...
- group_concat 长度限制,排序和设置分隔符
select aid,group_concat(bid order by bid separator ',') as bid_str from tbl group by aid; SET GLOBAL ...