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);
}
}
这个很简单,我就不注释了,代码给你你们参考一下