GridView控件 以网格的形式显示所有的组件

来源:互联网 发布:seo能帮你赚到钱 编辑:程序博客网 时间:2024/05/22 12:27
<?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">    <GridView        android:id="@+id/gv"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:horizontalSpacing="5dp"        android:numColumns="4"        android:verticalSpacing="5dp" /></LinearLayout>

package com.zdsoft.gridviewdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.GridView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private GridView gv;    private List<ItemShow> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        initDate();    }    private void initView() {        gv = (GridView) findViewById(R.id.gv);    }    private void initDate() {        GridViewAdapter gridViewAdapter = new GridViewAdapter(MainActivity.this, getDate());        gv.setAdapter(gridViewAdapter);    }    private List<ItemShow> getDate() {        list = new ArrayList<ItemShow>();        ItemShow item1 = new ItemShow();        item1.setImg(R.drawable.a);        item1.setTxt("奔驰");        list.add(item1);        ItemShow item2 = new ItemShow();        item2.setImg(R.drawable.b);        item2.setTxt("奔驰");        list.add(item2);        ItemShow item3 = new ItemShow();        item3.setImg(R.drawable.c);        item3.setTxt("奔驰");        list.add(item3);        ItemShow item4 = new ItemShow();        item4.setImg(R.drawable.d);        item4.setTxt("宾利");        list.add(item4);        ItemShow item5 = new ItemShow();        item5.setImg(R.drawable.e);        item5.setTxt("奔驰");        list.add(item5);        ItemShow item6 = new ItemShow();        item6.setImg(R.drawable.f);        item6.setTxt("奔驰");        list.add(item6);        ItemShow item7 = new ItemShow();        item7.setImg(R.drawable.g);        item7.setTxt("宾利");        list.add(item7);        return list;    }}

package com.zdsoft.gridviewdemo;import android.content.Context;import android.support.v4.content.ContextCompat;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import java.util.List;/** * Created by Administrator on 2016/11/28. */public class GridViewAdapter extends BaseAdapter {    private Context context;    private List<ItemShow> list;    public GridViewAdapter(Context context, List<ItemShow> list) {        this.context = context;        this.list = list;    }    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int position) {        return null;    }    @Override    public long getItemId(int position) {        return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder viewHolder = null;        if (convertView == null) {            viewHolder = new ViewHolder();            convertView = LayoutInflater.from(context).inflate(R.layout.gridview_item, null);            viewHolder.iv_img = (ImageView) convertView.findViewById(R.id.iv_img);            viewHolder.tv_txt = (TextView) convertView.findViewById(R.id.tv_txt);            convertView.setTag(viewHolder);        } else {            viewHolder = (ViewHolder) convertView.getTag();        }        viewHolder.iv_img.setImageDrawable(ContextCompat.getDrawable(context, list.get(position).getImg()));        viewHolder.tv_txt.setText(list.get(position).getTxt());        return convertView;    }    private class ViewHolder {        ImageView iv_img;        TextView tv_txt;    }}

package com.zdsoft.gridviewdemo;/** * Created by Administrator on 2016/11/28. */public class ItemShow {    private Integer img;    private String txt;    public Integer getImg() {        return img;    }    public void setImg(Integer img) {        this.img = img;    }    public String getTxt() {        return txt;    }    public void setTxt(String txt) {        this.txt = txt;    }}
<?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:gravity="center"    android:orientation="vertical">    <ImageView        android:id="@+id/iv_img"        android:layout_width="80dp"        android:layout_height="80dp" />    <TextView        android:id="@+id/tv_txt"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textColor="@color/colorPrimary"        android:textSize="16sp" /></LinearLayout>


0 0
原创粉丝点击