【05】GridView初次使用
2016-03-03 22:01
246 查看
【一】效果图
【二】源程序
【三】布局代码
(1.1)main.xml
(2)其中的item.xml布局
【二】源程序
package min.gridview_1; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.GridView; import android.widget.SimpleAdapter; import android.os.Build; public class MainActivity extends Activity { private GridView gridView; private SimpleAdapter adapter; private List<Map<String, Object>> dataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); gridView=(GridView) findViewById(R.id.gridView); dataList=new ArrayList<Map<String,Object>>(); adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic","name"}, new int[]{R.id.pic,R.id.name}); gridView.setAdapter(adapter); } private List<Map<String, Object>> getData() { int[] drawable = { R.drawable.address_book, R.drawable.calendar, R.drawable.camera, R.drawable.clock, R.drawable.games_control, R.drawable.messenger, R.drawable.ringtone, R.drawable.settings, R.drawable.speech_balloon, R.drawable.weather, R.drawable.world, R.drawable.youtube }; String[] iconName = { "联系人", "日历", "照相机", "时钟", "游戏", "短信", "铃声", "设置", "语音", "天气", "浏览器", "Youtube" }; for (int i = 0; i < drawable.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("pic", drawable[i]); map.put("name", iconName[i]); dataList.add(map); } Log.i("Main", "size="+dataList.size()); return dataList; } }
【三】布局代码
(1.1)main.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:background="#000000" android:orientation="vertical" > <!-- GridView是可滚动的网格。一般用来显示多张图片。 android:horizontalSpacing="5dp" 两列之间的间距是5dp android:verticalSpacing="5dp" 两行之间的间距是5dp android:stretchMode="spacingWidth" 缩放与列宽大小同步 android:numColumns="auto_fit" 本来是一行显示几个,现在改为自动分配 --> <GridView android:id="@+id/gridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:gravity="center_horizontal" android:horizontalSpacing="10dp" android:numColumns="3" android:verticalSpacing="10dp" /> </LinearLayout>
(2)其中的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" > <ImageView android:id="@+id/pic" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" android:src="@drawable/address_book" /> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="5dp" android:text="名字" android:textColor="#ffffff" /> </LinearLayout>
相关文章推荐
- 【java基础】--Java枚举
- 数据挖掘
- ScheduledExecutorService定时周期执行指定的任务
- [iOS]如何给Label或者TextView赋HTML数据
- Problem E: C语言习题 矩形法求定积分
- Android性能优化大全(Code Memory CPU GPU UI)
- 第三百三十六天 how can I 坚持
- Java String 源代码分析
- df命令和du命令
- 同样简单的选择排序算法
- [AFN]AFNetworking错误总结
- Cmd检测关机事件删除某一用户
- C++学习笔记53——纯虚函数与继承中的容器
- Link-Cut-Trees
- 单臂路由技术实现跨VLAN全网互通
- [iOS]把16进制(#871f78)颜色转换UIColor
- 分层测试设计之接口层
- Android进程守护
- 第二周 操作系统是如何工作的
- Android中使用OrmLite(三):批处理