Android用户界面UI组件--AdapterView及其子类(四) GridView
来源:互联网 发布:uu淘宝店没评价 编辑:程序博客网 时间:2024/04/28 16:43
GridView常用的XML属性:
android:columnWidth
设置列的宽度.
android:horizontalSpacing
两列之间的间距.
android:numColumns
设置列数.可以为具体数字,也可以为auto_fit 表示自动适应
android:stretchMode
缩放模式
android:verticalSpacing
两行之间的间距
android:columnWidth
设置列的宽度.
android:horizontalSpacing
两列之间的间距.
android:numColumns
设置列数.可以为具体数字,也可以为auto_fit 表示自动适应
android:stretchMode
缩放模式
android:verticalSpacing
两行之间的间距
例子:
<?xml version="1.0" encoding="utf-8"?><GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="90dp" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:stretchMode="columnWidth" android:gravity="center" />
package com.light.android.study;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private GridView gridView; //图片的文字标题 private String[] titles = new String[] { "pic1", "pic2", "pic3", "pic4", "pic5", "pic6", "pic7", "pic8", "pic9"}; //图片ID数组 private int[] images = new int[]{ R.drawable.gallery_photo_1, R.drawable.gallery_photo_2, R.drawable.gallery_photo_3, R.drawable.gallery_photo_4, R.drawable.gallery_photo_5, R.drawable.gallery_photo_6, R.drawable.photo1, R.drawable.photo2, R.drawable.photo3 }; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); gridView = (GridView) findViewById(R.id.gridview); PictureAdapter adapter = new PictureAdapter(titles, images, this); gridView.setAdapter(adapter); //點擊事件 gridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(MainActivity.this, "pic" + (position+1), Toast.LENGTH_SHORT).show(); } }); } //自定义适配器 class PictureAdapter extends BaseAdapter{ private LayoutInflater inflater; private List<Picture> pictures; public PictureAdapter(String[] titles, int[] images, Context context) { super(); pictures = new ArrayList<Picture>(); inflater = LayoutInflater.from(context); for (int i = 0; i < images.length; i++) { Picture picture = new Picture(titles[i], images[i]); pictures.add(picture); } } @Override public int getCount() { if (null != pictures) { return pictures.size(); } else { return 0; } } @Override public Object getItem(int position) { return pictures.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = inflater.inflate(R.layout.picture_item, null); viewHolder = new ViewHolder(); viewHolder.title = (TextView) convertView.findViewById(R.id.title); viewHolder.image = (ImageView) convertView.findViewById(R.id.image); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.title.setText(pictures.get(position).getTitle()); viewHolder.image.setImageResource(pictures.get(position).getImageId()); return convertView; } } class ViewHolder { public TextView title; public ImageView image; } class Picture { private String title; private int imageId; public Picture() { super(); } public Picture(String title, int imageId) { super(); this.title = title; this.imageId = imageId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getImageId() { return imageId; } public void setImageId(int imageId) { this.imageId = imageId; } }}
知识点:
GridView中的item实现自适应正方形
http://yunfeng.sinaapp.com/?p=465
http://yunfeng.sinaapp.com/?p=466
- Android用户界面UI组件--AdapterView及其子类(四) GridView
- Android用户界面UI组件--AdapterView及其子类(三) ExpandableListView
- android-UI组件(四):AdapterView及其子类
- Android用户界面 UI组件--AdapterView及其子类(二) AdapterViewAnimator及其子类
- Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
- Android用户界面UI组件--AdapterView及其子类(五) Spinner和SpinnerAdapter
- Android用户界面 UI组件--TextView及其子类(四) Chronometer计时器
- UI组件之AdapterView及其子类(二)GridView网格视图的使用
- ui.AdapterView及其子类
- Android用户界面 UI组件--TextView及其子类(一) TextView
- UI组件之AdapterView及其子类(四)Gallery画廊控件使用
- Android界面编程之五 第四组UI组件:AdapterView及其子类
- 【android_温故知新】第 4 组 UI 组件:AdapterView 及其子类
- 安卓入门之UI组件:AdapterView及其子类
- 第4组UI组件:AdapterView及其子类
- Android用户界面 UI组件--TextView及其子类(二) Button,selector选择器,sharp属性
- Android用户界面 UI组件--TextView及其子类(三) EditView以及各种Span文字样式讲解
- Android用户界面 UI组件--ImageView及其子类ImageButton,QuickContactBadge附带Draw9Patch工具说明
- 手动替换GCC版本
- wikioi p1430 素数判定
- 数据结构
- iPhone图片拉伸:stretchableImageWithLeftCapWidth:topCapHeight && resizableImageWithCapInsets
- hdu 1394 Minimum Inversion Number (树状数组)
- Android用户界面UI组件--AdapterView及其子类(四) GridView
- wikioi p1474 十进制转m进制
- 获取时间,格式化时间
- wikioi p1475 m进制转十进制
- How to Build a PREEMPT_RTkernel
- 幽默-聪明的儿子
- wikioi p1011 数的计算
- Android用户界面UI组件--AdapterView及其子类(五) Spinner和SpinnerAdapter
- Configure Oracle 11gR2 RAC 一节点执行root.sh脚本报错