GridView是一個(gè)網(wǎng)絡(luò)布局的視圖,他能讓你的元素顯示在一個(gè)個(gè)的格子里。我們的桌面就是一個(gè)GridView。。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比沁水網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式沁水網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋沁水地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
1、新建一個(gè)gridview工程,activity_main.xml的代碼如下:
很簡單,就是一個(gè)GridView。設(shè)置列寬為90dp,這樣當(dāng)我們的numColumns設(shè)置為auto_fit時(shí),Android就會(huì)自動(dòng)計(jì)算我們手機(jī)屏幕的大小以決定每一行展示幾個(gè)元素。這是很方便。android:horizontalSpacing定義列之間的間隔,android:verticalSpacing定義行之間的間隔。android:stretchMode設(shè)置為columnWidth是意味著根據(jù)列寬自動(dòng)縮放。
2、修改MainActivity.java代碼如下:
package com.example.gridview; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { //展示圖片 private Integer[] mThumbIds = { R.drawable.a,R.drawable.b, R.drawable.c,R.drawable.d, R.drawable.e,R.drawable.ic_launcher, R.drawable.music,R.drawable.video, R.drawable.photo }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gridView = (GridView) findViewById(R.id.gridview); gridView.setAdapter(new ImageAdapter(this)); //單擊GridView元素的響應(yīng) gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { //彈出單擊的GridView元素的位置 Toast.makeText(MainActivity.this, mThumbIds[position], Toast.LENGTH_LONG).show(); } }); } private class ImageAdapter extends BaseAdapter{ private Context mContext; public ImageAdapter(Context context) { this.mContext = context; } @Override public int getCount() { return mThumbIds.length; } @Override public Object getItem(int position) { return mThumbIds[position]; } @Override public long getItemId(int arg0) { // TODO 自動(dòng)生成的方法存根 return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { //定義一個(gè)ImageView,顯示在GridView里 ImageView p_w_picpathView; if(convertView==null){ p_w_picpathView = new ImageView(mContext); p_w_picpathView.setLayoutParams(new GridView.LayoutParams(85,85)); p_w_picpathView.setScaleType(ImageView.ScaleType.CENTER_CROP); p_w_picpathView.setPadding(8, 8, 8, 8); }else{ p_w_picpathView = (ImageView) convertView; } p_w_picpathView.setImageResource(mThumbIds[position]); return p_w_picpathView; } } }
這里我們也是采用的自定義Adapter,展示了一些圖片,然后點(diǎn)擊一個(gè)圖片的時(shí)候會(huì)顯示這個(gè)圖片所在的位置。
3、運(yùn)行程序,效果圖如下: