展会信息港展会大全

Android开发之GridView的使用(解读谷歌官方API)
来源:互联网   发布日期:2015-10-03 10:48:19   浏览:2333次  

导读: GridView将图片显示在二维可移动的网格里,使用ListAdapter可以将Grid项目自动填充满整个布局。下面我们根据官方文档的例子来实现一下使用GridView,点击视图里...

GridView将图片显示在二维可移动的网格里,使用ListAdapter可以将Grid项目自动填充满整个布局。下面我们根据官方文档的例子来实现一下使用GridView,点击视图里的图片弹出图片的position的效果。

首先在main.xml文件创建下列布局。

在MainAcitivity中,因为要使用setAdapter适配器加载数据,所以要先创建一个类继承BaseAdapter

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

GridView gridview = (GridView) findViewById(R.id.gridview);

gridview.setAdapter(new ImageAdapter(this));

gridview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView> parent, View v, int position, long id) {

Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();

}

});

}

public class ImageAdapter extends BaseAdapter {

private Context mContext;

public ImageAdapter(Context c) {

mContext = c;

}

public int getCount() {

return mThumbIds.length;

}

public Object getItem(int position) {

return null;

}

public long getItemId(int position) {

return 0;

}

// create a new ImageView for each item referenced by the Adapter

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

ImageView imageView;

if (convertView == null) {// if it's not recycled, initialize some attributes

imageView = new ImageView(mContext);

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

imageView.setPadding(8, 8, 8, 8);

} else {

imageView = (ImageView) convertView;

}

imageView.setImageResource(mThumbIds[position]);

return imageView;

}

// references to our images

private Integer[] mThumbIds = {

R.drawable.sample_2, R.drawable.sample_3,

R.drawable.sample_4, R.drawable.sample_5,

R.drawable.sample_6, R.drawable.sample_7,

R.drawable.sample_0, R.drawable.sample_1,

R.drawable.sample_2, R.drawable.sample_3,

R.drawable.sample_4, R.drawable.sample_5,

R.drawable.sample_6, R.drawable.sample_7,

R.drawable.sample_0, R.drawable.sample_1,

R.drawable.sample_2, R.drawable.sample_3,

R.drawable.sample_4, R.drawable.sample_5,

R.drawable.sample_6, R.drawable.sample_7

};

}

添加以上代码就已大功告成。setLayoutParams(ViewGroup.LayoutParams),设置图片大校setScaleType(ImageView.ScaleType)

设置图片显示形式。setPadding(int, int, int, int)设置图片的间距。如果视图传递给getView()不是null,那么使用当地的回收的convertView视图对象进行初始化。

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港