博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中的GridView
阅读量:4348 次
发布时间:2019-06-07

本文共 2440 字,大约阅读时间需要 8 分钟。

GridView网格视图

     这个控件可以通过网格的形式来显示数据(文本、图像),且它的排列方式类似于矩阵,要采用行列的方式来布局子控件

  EG:

  第一步:先建立一个布局文件(gridview_layout.xml)并采用线性布局,并嵌入GridView控件

  第二步:在新建一个gridview_item.xml布局文件,采用线性布局,增加TextView和ImageView控件

  第三步:新建类MyActivity()邴继承Activity,并自定义一个适配器(MyCarAdapter)

gridview_layout.xml的布局代码里面只写一个控件,那就是:

  <GridView

  android:id="@+id/gridview"

  android:Layout_width="fill_parent"

  android:Layout_height="Wrap_content"

  android:numColums="3"

  android:verticalSpacing="5dip"

  />

gridview_item.xml的代码:在里面只写一个TextView控件和一个ImamgeView控件

<TextView

  android:id="@+id/textview"

  android:Layout_width="fill_parent"

  android:Layout_height="Wrap_content"

  android:gravity="center"

  android:text=""(这句话也可以不写)

/>

<ImageView

  android:id="@+id/imageview"

  android:Layout_width="fill_parent"

  android:Layout_height="Wrap_content"

  android:margin="20dip"

/>

  MyActivity()的代码如下:

/**

*演示GridView的使用

*

 Catherine

*

**/

//声明一个GridView视图

private GridView mGridView;

//然后再进入重写的方法onCreate()中

//实例化mGridView;

mGridView=(GirdView)findViewById(R.id.gridview);

//设置标题·

setTitle("GridView的使用');

//调用方法

bindAdapter();

//创建一个方法,为了去绑定Adapter

private void bindAdapter(){

MyAdapter myadapter=new MyAdapter();

mGridView.setAdapter(myadapter);

}

//自定义一个Adapter,可以灵活的控制Gridview布局显示

Class  MyAdapter extend BaseAdapter{

//图片的索引id

int[] imgs={R.drawable.car1,R.drawable.car2,R.drawable.car3

      R.drawable.car4,R.drawable.car5,R.drawable.car6

      R.drawable.car7,R.drawable.car8,R.drawable.car9};

 

}

//定义一个字符串来初始化车名字

String [] carNames{"本田","雷克萨斯","兰博基尼","法拉利","宝马","奥迪","丰田","保时捷","奔驰" };

//构造方法(可以不用写)

public MyAdapter(){}

}

//获取条目的数量(重写一个方法(getcount()))

@Override

public int getCount(){

return imgs.length;

}

//返回子控件的内容

@Override

public  Object getItem(int position)

{

return imgs[position];

}

@Override

public Object getItemId(int position)

{

return position;

}

//重新加载View的方法

@Overvide

public View getView(int position,View convertView,ViewGroup parent)

{

ImageView imageview=null;

if(convertView==null){

//通过LayoutInflater类来加载布局,返回一个View的实例对象

convertView=LayoutInflater.from(MyActivity.this).inflate(R.layout.gridview_item,null);

 

}

//通过convetView调用其findviewById方法根据其id返回相应的控件

imageview=(ImageView)findviewById(R.id.imageview);

TextView .setImageResource(imgs[position]);

TextView textview=(TextView)convertView.findviewById(R.id.textview);

textview.setText(carNames[position]);

return convertView;

}

 

 

 

转载于:https://www.cnblogs.com/Catherine-Brain/p/William_Catherine_Brain.html

你可能感兴趣的文章
android:id="@+id/button1" 与 android:id="@id/button1" 区别 @string
查看>>
手把手玩转win8开发系列课程(11)
查看>>
Linux Namespace : User
查看>>
交换两个整形变量的数值
查看>>
Linux----常用操作
查看>>
sequence
查看>>
Delphi错误:Stack overflow的解决方法
查看>>
取消chrome(谷歌浏览器)浏览器下最小字体限制
查看>>
模板方法模式
查看>>
什么是ECC内存?
查看>>
使用Visual Studio 2013进行UI自动化测试
查看>>
13-集体照
查看>>
读了曾国藩家书,,心态逐渐平和起来。搞技术的如果缺乏信念的指引,生活会很乏味无聊!...
查看>>
前端javascript 错误 Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
Selenium WebDriver问题--无法打开Chrome浏览器
查看>>
2017.4.18 Java的Integer与int互转
查看>>
小程序接受返回数组的坑
查看>>
echart.js的使用
查看>>
linux7.2系统中安装Nmon并使用
查看>>
HTML转换为PDF
查看>>