從零開始學android(GridView網格視圖.二十八.)

來源:互聯網
上載者:User

從零開始學android(GridView網格視圖.二十八.)
GridView組件是以網格的形式顯示所有的組件,例如:在製作相簿的時候,所有的圖片都會以相同大小顯示在不同的格子之中,就可以依靠此組件完成,此組件的繼承結構如下所示:java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView ? android.widget.AbsListView ? android.widget.GridView常用的方法

1 public GridView(Context context) 構造

建立GridView對象
2 public void setStretchMode(int stretchMode) 普通 android:stretchMode 縮放模式
3 public void setVerticalSpacing(int verticalSpacing) 普通 android:verticalSpacing 設定垂直間距
4 public void setHorizontalSpacing(int horizontalSpacing) 普通 android:horizontalSpacing 設定水平間距
5 public void setNumColumns(int numColumns) 普通 android:numColumns 設定每列顯示的資料量,如果設定為auto_fit則表示自動化佈建
6 public void setSelection(int position) 普通

設定預設選中項
7 public void setGravity(int gravity) 普通 android:gravity 設定對齊模式,由Gravity類指定
8 public void setAdapter(ListAdapter adapter) 普通

設定顯示圖片集


當然要想使用GridView還是必須要使用到Adapter資料集類配置圖片資料
大家可以使用SimpleAdapter 和BaseAdapter來配置adapter今天我使用BaseAdapter來配置Adapter資料
XML檔案
    

JAVA檔案
package com.example.gridview;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;public class MainActivity extends Activity {private GridView gridView;// 初始化GridViewprivate int images[] = { R.drawable.a1, R.drawable.a2, R.drawable.a3,R.drawable.a4, R.drawable.a5, R.drawable.a6, R.drawable.a7,R.drawable.a8, R.drawable.a9, R.drawable.a10, R.drawable.a11,R.drawable.a12, R.drawable.a13, R.drawable.a14, R.drawable.a15,R.drawable.a16 };// 圖片資料@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 獲得GridView對象gridView = (GridView) this.findViewById(R.id.gridview);// 設定AdptergridView.setAdapter(new MyAdapter());// 設定監聽事件gridView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView adapterView, View view,int position, long id) {// TODO Auto-generated method stub// 為dialog設定view空間ImageView image = new ImageView(MainActivity.this);// 設定圖片資訊image.setImageResource(images[position]);// 設定圖片的額對齊image.setScaleType(ImageView.ScaleType.CENTER);// 設定圖片的大小image.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));//建立對話方塊AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this).setTitle("查看圖片").setView(image).setIcon(android.R.drawable.btn_star_big_on).setNegativeButton("關閉", new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});//建立對話方塊builder.create();//顯示對話方塊builder.show();}});}class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn images.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View myView, ViewGroup parent) {// TODO Auto-generated method stub//返回imageView對象ImageView imageView = new ImageView(MainActivity.this);imageView.setImageResource(images[position]);imageView.setScaleType(ImageView.ScaleType.CENTER);return imageView;}}}

效果
通過GridView組件可以實現多彩菜單效果

下節預報:TabHost標籤組件

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.