GirdView的用法和ListView差不多,上效果图
1.在layout_main.xlm中放入GirdView组件
?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:background="#202020"> <GridView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/grid" android:numColumns="3"/> </LinearLayout>
2.新建一个gird_item.xlm
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp"> <ImageView android:id="@+id/img_icon" android:layout_width="70dp" android:layout_height="70dp" android:layout_centerInParent="true" /> <TextView android:id="@+id/txt_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/img_icon" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:textSize="18sp" android:textColor="#f5f4f4"/> </RelativeLayout>
3。新建一个Icon类 Icon.java
ackage com.example.administrator.photo; public class Icon { private int iId; private String iName; public Icon() { } public Icon(int iId, String iName) { super(); this.iId = iId; this.iName = iName; } public int getiId() { return iId; } public String getiName() { return iName; } public void setiId(int iId) { this.iId = iId; } public void setiName(String iName) { this.iName = iName; } }
4.最后就是在MainActivity.java中写代码了,我用了最简单的SimpleAdapter,BaseAdapter在GirdView我不会用,正在研究中
ackage com.example.administrator.photo; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; public class MainActivity extends AppCompatActivity { private Context mContext; private GridView grid; private int[] image={R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.h,R.drawable.i}; private String[] name={"卫庄","端木蓉","柯聂","天明","雪女"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext=MainActivity.this; grid=(GridView) findViewById(R.id.grid); List<HashMap<String,Object>> mDate=new ArrayList<HashMap<String, Object>>(); for(int i=0;i<image.length;i++){ HashMap<String,Object> map=new HashMap<>(); map.put("imageKey",image[i]); map.put("nameKey",name[i]); mDate.add(map); } SimpleAdapter adapter=new SimpleAdapter(mContext,mDate,R.layout.gird_item,new String[]{"imageKey", "nameKey"},new int[] {R.id.img_icon,R.id.txt_icon} ); grid.setAdapter(adapter); } }这个很简单,我就不注释了,代码给你你们参考一下