关于GridView的理解

来源:互联网 发布:在mac显示隐藏文件 编辑:程序博客网 时间:2024/04/29 12:37

下面是效果图:



下面是Layout的代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >        <!--             android:numColumns="":每一行显示多少列     android:horizontalSpacing="":两列之间的间距     android:verticalSpacing="":两行之间的间距    -->    <GridView    android:id="@+id/gridView"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:numColumns="3"     android:horizontalSpacing="10dp"     android:verticalSpacing="10dp"    >    </GridView></LinearLayout>


下面是Activity的代码:

package gridview2;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.example.tab.R;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;public class gridview1 extends ActionBarActivity{private GridView gridView;private List<Map<String,Object>>list1;//加载图片源private int[] icon={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,};//为每个图片起名字private String[] iconName = {"图片","图片","图片","图片","图片","图片","图片","图片","图片","图片","图片","图片",};private SimpleAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.gridview);gridView = (android.widget.GridView)findViewById(R.id.gridView);//1、准备数据源//2、新建适配器(SimpleAdapter)//3、GridView加载适配器//4、GridView配置事件监听器(OnItemClickLister)list1 = new ArrayList<Map<String,Object>>();//getData();//R.layout.gridview_item:SimpleAdapter所关联的布局adapter = new SimpleAdapter(this, getData(), R.layout.gridview_item, new String[]{"image","text"},new int[] {R.id.image,R.id.tv1});gridView.setAdapter(adapter);//对gridView进行点击事件gridView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int position, long id) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "我是"+iconName[position], 1).show();}});}//获取数据源private List<Map<String,Object>> getData() {// TODO Auto-generated method stubfor(int i=0;i<icon.length;i++){Map<String,Object> map = new HashMap<String,Object>();map.put("image", icon[i]);map.put("text", iconName[i]);list1.add(map);}return list1;}}

下面是关于SimpleAdapter关联的布局样式:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"     android:gravity="center"    >    <ImageView         android:layout_width="80dp"         android:layout_height="80dp"         android:src="@drawable/ic_launcher"        />    <TextView        android:id="@+id/tv1"        android:layout_marginTop="5dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="文字"         /></LinearLayout>


0 0
原创粉丝点击