layout文件:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:paddingBottom="@dimen/activity_vertical_margin" 7 android:paddingLeft="@dimen/activity_horizontal_margin" 8 android:paddingRight="@dimen/activity_horizontal_margin" 9 android:paddingTop="@dimen/activity_vertical_margin" 10 tools:context="com.hanqi.testapp2.TestActivity9"> 11 12 <GridView 13 android:layout_width="match_parent" 14 android:layout_height="match_parent" 15 android:id="@+id/gv_1" 16 android:numColumns="4" 17 android:stretchMode="columnWidth" 18 android:gravity="center" 19 android:horizontalSpacing="30dp"></GridView> 20 </LinearLayout>
java类:
1 package com.hanqi.testapp2; 2 3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatActivity; 5 import android.view.View; 6 import android.view.ViewGroup; 7 import android.widget.BaseAdapter; 8 import android.widget.GridView; 9 import android.widget.ImageView; 10 11 import java.util.ArrayList; 12 import java.util.List; 13 14 public class TestActivity9 extends AppCompatActivity { 15 16 GridView gv_1; 17 List<Integer> liv; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_test9); 22 gv_1 = (GridView)findViewById(R.id.gv_1); 23 24 //1、数据 图片的id 25 liv = new ArrayList<>(); 26 liv.add(R.drawable.f1); 27 liv.add(R.drawable.f2); 28 liv.add(R.drawable.f3); 29 liv.add(R.drawable.f4); 30 liv.add(R.drawable.f5); 31 liv.add(R.drawable.f6); 32 liv.add(R.drawable.f7); 33 liv.add(R.drawable.f8); 34 gv_1.setAdapter(new ImageAdapter()); 35 } 36 //适配器 37 class ImageAdapter extends BaseAdapter 38 { 39 @Override 40 public int getCount() { 41 return liv.size(); 42 } 43 44 @Override 45 public Object getItem(int position) { 46 return liv.get(position); 47 } 48 49 @Override 50 public long getItemId(int position) { 51 return 0; 52 } 53 54 @Override 55 public View getView(int position, View convertView, ViewGroup parent) { 56 //1.得到数据 图片的id 57 Integer ivid = liv.get(position); 58 //2.准备View 59 if (convertView ==null) { 60 convertView = new ImageView(TestActivity9.this); 61 } 62 //3.适配 63 //转换 64 ImageView imageView = (ImageView)convertView; 65 imageView.setImageResource(ivid); 66 67 //imageView.setMaxHeight(70); 68 //imageView.setMaxWidth(70); 69 70 imageView.setLayoutParams(new GridView.LayoutParams(110, 110)); 71 72 return imageView; 73 } 74 } 75 }
效果图为: