GridView

android:numColumns="auto_fit" 列数 自动设置

android:columnWidth="90dp" 列宽

android:verticalSpacing="10dp" 行间距

android:horizontalSpacing="10dp" 列间距

android:stretchMode="columnWidth" 缩放方式

package com.example.android_grid_layout;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;public class MainActivity extends Activity {private GridView gv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                gv = (GridView)this.findViewById(R.id.gridView);        ImageAdapter adapter = new ImageAdapter();        gv.setAdapter(adapter);    }        class ImageAdapter extends BaseAdapter{    private Integer[] mThumbIds = {                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1,                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1,                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1,                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1,                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_6, R.drawable.sample_7        };    @Overridepublic int getCount() {return mThumbIds.length;}@Overridepublic Object getItem(int position) {return mThumbIds[position];}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;        if (convertView == null) {            imageView = new ImageView(MainActivity.this);            // 设置布局参数 大小尺寸            imageView.setLayoutParams(new GridView.LayoutParams(180, 180));            // 图片截取类型            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);            // 上下左右内边距            imageView.setPadding(1, 1, 1, 1);        } else {            imageView = (ImageView) convertView;        }        imageView.setImageResource(mThumbIds[position]);        return imageView;}    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }

图片带文字:

package com.example.android_grid_layout;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.TextView;public class MainActivity2 extends Activity {private GridView gv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                gv = (GridView)this.findViewById(R.id.gridView);        ImageAdapter adapter = new ImageAdapter();        gv.setAdapter(adapter);    }        class ImageAdapter extends BaseAdapter{    private Integer[] mThumbIds = {                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1,                R.drawable.sample_2, R.drawable.sample_3,                R.drawable.sample_4, R.drawable.sample_5,                R.drawable.sample_6, R.drawable.sample_7,                R.drawable.sample_0, R.drawable.sample_1        };        private String[] descs = {                "描述1", "描述2",                "描述3", "描述4",                "描述5", "描述6",                "描述7", "描述8",                "描述9", "描述10",                "描述11", "描述12",                "描述13", "描述14",                "描述13", "描述14"        };    @Overridepublic int getCount() {return mThumbIds.length;}@Overridepublic Object getItem(int position) {return mThumbIds[position];}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;TextView textView;        if (convertView == null) {        convertView = getLayoutInflater().inflate(R.layout.grid_item, null);        }                imageView = (ImageView) convertView.findViewById(R.id.imageView1);            textView = (TextView) convertView.findViewById(R.id.textView1);            // 设置布局参数 大小尺寸//            imageView.setLayoutParams(new GridView.LayoutParams(90, 90));            // 图片截取类型//            imageView.setScaleType(ImageView.ScaleType.FIT_XY);            // 上下左右内边距//            imageView.setPadding(1, 1, 1, 1);        imageView.setImageResource(mThumbIds[position]);        textView.setText(descs[position]);                return convertView;}    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }

更多相关文章

  1. android图片放大 缩小 旋转
  2. Android布局文件中的属性含义
  3. Android 怎么给图片添加一个边框
  4. Android 相对布局 RelativeLayout 属性
  5. Android编程实现屏幕自适应方向尺寸与分辨率的方法
  6. Android漏洞——将Android恶意代码隐藏在图片中
  7. Android布局优化(三)使用AsyncLayoutInflater异步加载布局

随机推荐

  1. android listview 相关
  2. Android(安卓)之不要滥用 SharedPreferen
  3. Android(安卓)抖动效果
  4. android监听软键盘退格(删除)事件
  5. launcher学习
  6. EditText光标居上
  7. Android:官网ROM下载地址备份
  8. Android(安卓)Wear 进阶 综述 Developing
  9. Android(安卓)签名验证
  10. 只发起单独activity