zoukankan      html  css  js  c++  java
  • 转载 Android之Gridview图片列表

    gridview是一项显示二维的viewgroup,可滚动的网格。网格项时自动插入的布局使用listadapter。
    1.创建一个新的项目:gridview.

    2,打开 res/layout/main.xml文件,插入一下代码:

    1. <?xml version="1.0" encoding="utf-8"?> 
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    3.     android:orientation="vertical" 
    4.     android:layout_width="fill_parent" 
    5.     android:layout_height="fill_parent" 
    6.     > 
    7. <GridView 
    8.          android:id="@+id/gridview" 
    9.          android:layout_width="fill_parent" 
    10.          android:layout_height="fill_parent" 
    11.          android:columnWidth="90dp" 
    12.          android:numColumns="auto_fit" 
    13.          android:verticalSpacing="10dp" 
    14.          android:horizontalSpacing="10dp" 
    15.          android:stretchMode="columnWidth" 
    16.          android:gravity="center" 
    17.          />   
    18. </LinearLayout> 

    做好以后就可以在屏幕上显示一个grid view

    3.打开gridview.java首先要导入包:

    1. package cn.gridview;  
    2. import android.widget.GridView;  
    3. import android.widget.Toast;  
    4. import android.app.Activity;  
    5. import android.os.Bundle;  
    6. import android.widget.AdapterView.OnItemClickListener;  
    7. import android.widget.AdapterView;  
    8. import android.view.View;  
    9. 在onCreate添加方法:  
    10.  public void onCreate(Bundle savedInstanceState) {  
    11.         super.onCreate(savedInstanceState);  
    12.         setContentView(R.layout.main);  
    13.         GridView gridview=(GridView)findViewById(R.id.gridview);//找到main.xml中定义gridview 的id  
    14.         gridview.setAdapter(new ImageAdapter(this));//调用ImageAdapter.java  
    15.         gridview.setOnItemClickListener(new OnItemClickListener(){//监听事件  
    16.          public void onItemClick(AdapterView<?> parent, View view, int position, long id)   
    17.          {  
    18.           Toast.makeText(gridview.this, ""+position,Toast.LENGTH_SHORT).show();//显示信息;  
    19.          }  
    20.         });  
    21.     }  
    22. ImageAdapter.java  
    23. package cn.gridview;  
    24. import android.view.View;  
    25. import android.view.ViewGroup;  
    26. import android.widget.BaseAdapter;  
    27. import android.content.Context;  
    28. import android.widget.ImageView;  
    29. import android.widget.GridView;  
    30. public class ImageAdapter extends BaseAdapter {  
    31.  private Context mContext;  
    32.    
    33.  public ImageAdapter(Context c)  
    34.  {  
    35.   mContext=c;  
    36.  }  
    37.  @Override  
    38.  public int getCount() {  
    39.   // TODO Auto-generated method stub  
    40.   return mThumbIds.length;  
    41.  }  
    42. @Override  
    43.  public Object getItem(int position) {  
    44.   // TODO Auto-generated method stub  
    45.   return null;  
    46.  }  
    47. @Override  
    48.  public long getItemId(int position) {  
    49.   // TODO Auto-generated method stub  
    50.   return 0;  
    51.  }  
    52.  @Override  
    53.  public View getView(int position, View convertView, ViewGroup parent) {  
    54.   // TODO Auto-generated method stub  
    55.     
    56.   ImageView imageview;  
    57.   if(convertView==null)  
    58.   {  
    59.    imageview=new ImageView(mContext);  
    60.    imageview.setLayoutParams(new GridView.LayoutParams(85, 85));  
    61.    imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);  
    62.    imageview.setPadding(8,8,8,8);  
    63.  }  
    64.   else  
    65.   {  
    66.    imageview=(ImageView) convertView;  
    67.   }  
    68.   imageview.setImageResource(mThumbIds[position]);  
    69.   return imageview;  
    70.   }  
    71. private Integer[] mThumbIds={//显示的图片数组   
    72.   R.drawable.sample_2,R.drawable.sample_3,  
    73.   R.drawable.sample_4,R.drawable.sample_5,  
    74.   R.drawable.sample_6,R.drawable.sample_7,  
    75.   R.drawable.sample_0,R.drawable.sample_1,  
    76.   R.drawable.sample_2,R.drawable.sample_3,  
    77.   R.drawable.sample_4,R.drawable.sample_5,  
    78.   R.drawable.sample_6,R.drawable.sample_7,  
    79.   R.drawable.sample_0,R.drawable.sample_1,  
    80.   R.drawable.sample_2,R.drawable.sample_3,  
    81.   R.drawable.sample_4,R.drawable.sample_5,  
    82.   R.drawable.sample_6,R.drawable.sample_7,  
    83.  };  

    运行后界面如下:

  • 相关阅读:
    iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解
    iOS开发~UI布局(一)初探Size Class
    OC登陆界面登陆按钮动画
    Git学习 --> 个人常用命令add,commit以及push
    Git使用之设置SSH Key
    【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
    iOS网络检测Reachability 使用 Demo,可检测2、3、4G
    iOS提醒用户进入设置界面进行重新授权通知定位等功能
    iOS中 @synthesize 和 @dynamic 区别
    iOS 开发笔记
  • 原文地址:https://www.cnblogs.com/xiao0/p/2172367.html
Copyright © 2011-2022 走看看