GridView→图片文字适配
第一步:布局文件GridView控件,注意限制行数
第二步:对应的item.xml布局文件,注意布局中图片文字的高度和宽度
第三步:javaBean实体类,构造函数,调用函数
第四步:adapter,自定义适配器,适配item view
第五步:activity来实现功能
→findViewById
→得到数据
→listView 适配
第一步:布局文件GridView控件,注意限制行数
gridview.xml
<?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/gridView_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"/>
</LinearLayout>
第二步:对应的item.xml布局文件,注意布局中图片文字的高度和宽度
girdview_item.xml
<?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">
<ImageView
android:id="@+id/gridView_item_image"
android:layout_width="60dp"
android:layout_height="60dp"/>
<TextView
android:id="@+id/gridView_item_name"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:gravity="center"/>
</LinearLayout>
第三步:javaBean实体类,构造函数,调用函数
MyFile javaBean文件
package com.ncsyeyy.YeyyGridView;
/**
* Created by yeyy on 9/11/2015.
*/
public class MyFile {
// 实体类,给gridView设置数据
public String FileName;
public int ImageId;
public MyFile() {
super();
}
public MyFile(String fileName, int imageId) {
super();
FileName = fileName;
ImageId = imageId;
}
}
第四步:adapter,自定义适配器,适配item view
package com.ncsyeyy.YeyyGridView;
import android.content.Context;
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 yeyy on 9/11/2015.
*/
public class FileListAdapter extends BaseAdapter{
// 定义Context
private Context context;
// 定义要显示的myFile列表
private List<MyFile> fileList;
// FileListAdapter构造方法
public FileListAdapter(Context context, List<MyFile> fileList) {
this.context = context;
this.fileList = fileList;
}
// 获取显示的条目数量
@Override
public int getCount() {
return fileList.size();
}
//获取列表中的单个对象
@Override
public Object getItem(int position) {
return fileList.get(position);
}
//获取雷彪对象的Id
@Override
public long getItemId(int position) {
return position;
}
//构造每一个item的View视图
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 第一位置占位符类的对象
ViewHolder viewHolder=new ViewHolder();
if(convertView==null){
// 初始化当前view的布局视图
convertView= LayoutInflater.from(context).inflate(R.layout.gridview_item,null);
}
// 获取到对应的控件对象
viewHolder.fileImage=(ImageView) convertView.findViewById(R.id.gridView_item_image);
viewHolder.fileName=(TextView) convertView.findViewById(R.id.gridView_item_name);
//给控件对象设置相应的内容
viewHolder.fileImage.setBackgroundResource(fileList.get(position).ImageId);
viewHolder.fileName.setText(fileList.get(position).FileName);
return convertView;
}
// 定义内部类作为占位符组合
class ViewHolder{
ImageView fileImage;
TextView fileName;
}
}
第五步:activity来实现功能
→findViewById
→得到数据
→listView 适配
package com.ncsyeyy.YeyyGridView;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import java.util.ArrayList;
import java.util.List;
/**
* Created by yeyy on 9/11/2015.
*/
public class GridViewActivity extends Activity {
private GridView gv;
// 定义用来存储需要显示的对象列表
private List<MyFile> fileList=new ArrayList<MyFile>();
private FileListAdapter fileListAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
findView();
setData();
setGridView();
}
private void setData(){
// 构造模拟数据
fileList.add(new MyFile("a",R.drawable.a));
fileList.add(new MyFile("b",R.drawable.b));
fileList.add(new MyFile("c",R.drawable.c));
fileList.add(new MyFile("d",R.drawable.d));
fileList.add(new MyFile("e",R.drawable.e));
fileList.add(new MyFile("f",R.drawable.f));
fileList.add(new MyFile("g",R.drawable.g));
fileList.add(new MyFile("h",R.drawable.h));
}
private void setGridView(){
fileListAdapter = new FileListAdapter(this,fileList);
gv.setAdapter(fileListAdapter);
}
private void findView(){
gv = (GridView) findViewById(R.id.gridView_image);
}
}
Android GridView
需积分: 20 116 浏览量
2015-09-15
09:32:33
上传
评论
收藏 183KB ZIP 举报
海纳百川叶
- 粉丝: 10
- 资源: 41
最新资源
- 80632180.jpg
- 李旭国体注入追踪[5.0](1).zip
- semantic.c
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈