Android GridView的使用方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android GridView的使用方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3199字,纯文字阅读大概需要5分钟。
内容图文
![Android GridView的使用方法](/upload/InfoBanner/zyjiaocheng/1083/2c92f7a0b4f34ab5a5111e95c83c3db7.jpg)
Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来 应用的比较多的就是组合图片显示 下面我就详细讲一个例子
首先写一个类继承BaseAdapter
[java] view plaincopy
-
public class ImageList extends BaseAdapter {
-
-
public Bitmap[] image;
-
Activity activity;
-
-
// construct
-
public ImageList(Activity a) {
-
activity = a;
-
}
-
@Override
-
public int getCount() {
-
// TODO Auto-generated method stub
-
return image.length;
-
}
-
@Override
-
public Object getItem(int position) {
-
// TODO Auto-generated method stub
-
return image[position];
-
}
-
@Override
-
public long getItemId(int position) {
-
// TODO Auto-generated method stub
-
return position;
-
}
-
public View getView(int position, View convertView, ViewGroup parent) {
-
// TODO Auto-generated method stub
-
ImageView imageView;
-
if (convertView == null) {
-
imageView = new ImageView(activity);
-
imageView.setLayoutParams(new GridView.LayoutParams(50, 50));// 设置ImageView宽高
-
imageView.setAdjustViewBounds(false);
-
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
-
-
} else {
-
imageView = (ImageView) convertView;
-
}
-
imageView.setImageBitmap(image[position]);
-
-
return imageView;
-
}
-
public static Bitmap drawableToBitmap(Drawable drawable) {
-
-
Bitmap bitmap = Bitmap
-
.createBitmap(
-
drawable.getIntrinsicWidth(),
-
drawable.getIntrinsicHeight(),
-
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
-
: Bitmap.Config.RGB_565);
-
Canvas canvas = new Canvas(bitmap);
-
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
-
drawable.draw(canvas);
-
return bitmap;
-
}
-
}
然后在主程序里
[c-sharp] view plaincopy
-
final GridView gv = (GridView) findViewById(R.id.grid);
-
ImageList adapter = new ImageList(available.this);
-
Resources res=getResources();
-
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.logo);
-
adapter.image=new Bitmap[20];
-
for(int i=0;i<=19;i++)
-
{
-
adapter.image[i]=bmp;
-
}
-
gv.setAdapter(adapter);
-
gv.setOnItemClickListener(new OnItemClickListener() {
-
@Override
-
public void onItemClick(AdapterView<?> arg0, View arg1,
-
int arg2, long arg3) {
-
// TODO Auto-generated method stub
-
Log.i("phb", arg2 + "");
-
Log.i("phbsel",gv.isFocused()+"");
-
Intent i=new Intent(available.this, com.mobile.links.shop.mycx.shopcart.class);
-
startActivity(i);
-
}
-
});
-
gv.setOnItemSelectedListener(new OnItemSelectedListener(){
-
@Override
-
public void onItemSelected(AdapterView<?> arg0, View arg1,
-
int arg2, long arg3) {
-
// TODO Auto-generated method stub
-
Log.i("selected",arg2+"");
-
tv.setText(arg2+":detail");
-
}
-
@Override
-
public void onNothingSelected(AdapterView<?> arg0) {
-
// TODO Auto-generated method stub
-
-
}
-
-
});
-
其中onClick函数是判断被点击
而onSelect函数是判断被选中 也就是获得焦点的imageview
这样我们就可以基于gridview来做一些应用了。
构建gridview的xml代码
[c-sharp] view plaincopy
-
<?xml version="1.0" encoding="utf-8"?>
-
<LinearLayout
-
android:id="@+id/relativelayout"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
xmlns:android="http://schemas.android.com/apk/res/android"
-
android:orientation="vertical"
-
>
-
<GridView android:id="@+id/availgrid"
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:numColumns="4"
-
android:verticalSpacing="30dp"
-
android:layout_centerHorizontal = "true"
-
-
/>
-
-
-
</LinearLayout>
原文:http://www.cnblogs.com/ablansetaimeng/p/4061963.html
内容总结
以上是互联网集市为您收集整理的Android GridView的使用方法全部内容,希望文章能够帮你解决Android GridView的使用方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。