GridView

来源:互联网 发布:医疗行业数据分析 编辑:程序博客网 时间:2024/05/19 05:29

GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。
GridView常用的XML属性:

属性名称

描述

android:columnWidth

设置列的宽度。

android:gravity

设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。

android:horizontalSpacing

两列之间的间距。

android:numColumns

设置列数。

android:stretchMode

缩放模式。

android:verticalSpacing

两行之间的间距。

这里写图片描述
LayoutResource

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <GridView        android:id="@+id/grideview"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:numColumns="3"></GridView></LinearLayout><?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:id="@+id/imageview"        android:layout_width="100dp"        android:layout_height="100dp" />    <TextView        android:layout_centerHorizontal="true"        android:id="@+id/textview"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="水果名"        android:layout_below="@id/imageview"        android:gravity="center"/></RelativeLayout>

Fruit类

public class Fruits  {    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getImg() {        return img;    }    public void setImg(int img) {        this.img = img;    }    private String name;    private int img;    public Fruits(String name, int img) {        this.name = name;        this.img = img;    }}

FruitAdapter

package com.example.administrator.mygridview;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import java.util.List;/** * Created by Administrator on 2015/8/26. */public class FruitsAdapter extends BaseAdapter {    private List<Fruits> fruits;    private LayoutInflater inflater;    public FruitsAdapter(List<Fruits> fruits, LayoutInflater inflater) {        this.fruits = fruits;        this.inflater = inflater;    }    @Override    public int getCount() {        return fruits.size();    }    @Override    public Object getItem(int position) {        return position;    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        Fruits fruit=fruits.get(position);        ViewHolder vh=null;        if(convertView==null){            convertView=inflater.inflate(R.layout.grideview_item,null);         vh=new ViewHolder();            vh.imageView= (ImageView) convertView.findViewById(R.id.imageview);            vh.textView= (TextView) convertView.findViewById(R.id.textview);            convertView.setTag(vh);        }else {            vh = (ViewHolder) convertView.getTag();        }        vh.imageView.setImageResource(fruit.getImg());        vh.textView.setText(fruit.getName());        return convertView;    }    class ViewHolder{        private TextView textView;        private ImageView imageView;    }}

MainActivity

package com.example.administrator.mygridview;import android.app.Activity;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.widget.Adapter;import android.widget.GridView;import java.util.ArrayList;import java.util.List;public class MainActivity extends Activity {    private LayoutInflater inflater;    private List<Fruits> fruits;    private GridView mGradeview;    private FruitsAdapter mAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mGradeview= (GridView)findViewById(R.id.grideview);        inflater=getLayoutInflater();        fruits=new ArrayList<>();        for(int i=0;i<30;i++) {            Fruits apple = new Fruits("苹果", R.drawable.apple);            fruits.add(apple);            Fruits banana = new Fruits("香蕉", R.drawable.banana);            fruits.add(banana);            Fruits grape = new Fruits("葡萄", R.drawable.grape);            fruits.add(grape);        }        mAdapter=new FruitsAdapter(fruits,inflater);        mGradeview.setAdapter(mAdapter);    }}
0 0
原创粉丝点击