GirdView的用法

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);



    }
}
这个很简单,我就不注释了,代码给你你们参考一下


猜你喜欢

转载自blog.csdn.net/weixin_40943540/article/details/80654556
今日推荐