Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android用gallery控件實現游戲開發之選關畫面

Android用gallery控件實現游戲開發之選關畫面

編輯:初級開發

在游戲開發中,往往要提供選關的頁面,選擇關卡可以簡單地使用listVIEw,如果想效果好一點,可以選擇 用gallery控件。Gallery控件的使用在api demo裡面有很詳盡的用法介紹,如果不想看api demo,下面有我精簡了的代碼:
程序的效果是可以拖動圖片,單擊選擇。
 1_jpg_thumb.jpg


首先在layout裡面定義gallery控件:

  1. <?XML version="1.0" encoding="utf-8"?>
     
  2. <LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"
     
  3.     android:orIEntation="vertical"
     
  4.     android:layout_width="fill_parent"
     
  5.     android:layout_height="fill_parent"
     
  6.     >
     
  7. <TextVIEw  
     
  8.     android:layout_width="fill_parent" 
     
  9.     android:layout_height="wrap_content" 
     
  10.     android:text="@string/hello"
     
  11.     />
     
  12. <Gallery 
     
  13.         android:id="@+id/Gallery01" 
     
  14.         android:layout_width="fill_parent" 
     
  15.         android:layout_height="wrap_content">
     
  16. </Gallery>
     
  17. </LinearLayout>
復制代碼

再定義Adapter,這個類是用來控制gallery的圖片源等操作的。

  1. package com.ray.test;
     

  2.  
  3. import android.content.Context;
     
  4. import android.view.VIEw;
     
  5. import android.view.VIEwGroup;
     
  6. import android.widget.BaseAdapter;
     
  7. import android.widget.Gallery;
     
  8. import android.widget.ImageVIEw;
     

  9.  
  10. public class ImageAdapter extends BaseAdapter {
     
  11.         private Context mContext; //define Context 
     

  12.  
  13.     private Integer[] mImageIds = { //picture source
     
  14.             R.drawable.p1,
     
  15.             R.drawable.p2,
     
  16.             R.drawable.p3,
     
  17.             R.drawable.p4,
     
  18.             R.drawable.p5,
     
  19.             R.drawable.p6,
     
  20.             R.drawable.p7,
     
  21.             R.drawable.p8,
     
  22.     };
     

  23.  
  24.     public ImageAdapter(Context c) { //define ImageAdapter
     
  25.         mContext = c;
     
  26.     }
     

  27.  
  28.     //get the picture number
     
  29.     public int getCount() { 
     
  30.         return mImageIds.length;
     
  31.     }
     
  32.     
     
  33.     public Object getItem(int position) {
     
  34.         return position;
     
  35.     }
     

  36.  
  37.     public long getItemId(int position) {
     
  38.         return position;
     
  39.     }
     

  40.  
  41.     public View getView(int position, View convertView, VIEwGroup parent) {
     
  42.         ImageView i = new ImageVIEw(mContext);
     
  43.         i.setImageResource(mImageIds[position]);//set resource for the imageVIEw
     
  44.         i.setLayoutParams(new Gallery.LayoutParams(192, 192));//layout
     
  45.         i.setScaleType(ImageVIEw.ScaleType.FIT_XY);//set scale type
     
  46.         return i;
     
  47.     }
     
  48. }
復制代碼

最後是Activity調用:

  1. package com.ray.test;
     

  2.  
  3. import android.app.Activity;
     
  4. import android.os.Bundle;
     
  5. import android.view.VIEw;
     
  6. import android.widget.AdapterVIEw;
     
  7. import android.widget.Gallery;
     
  8. import android.widget.Toast;
     
  9. import android.widget.AdapterVIEw.OnItemClickListener;
     

  10.  
  11. public class TestGallery extends Activity {
     
  12.     @Override
     
  13.     public void onCreate(Bundle savedInstanceState) {
     
  14.         super.onCreate(savedInstanceState);
     
  15.         setContentVIEw(R.layout.main);
     
  16.         Gallery g = (Gallery) findVIEwById(R.id.Gallery01);//get Gallery component
     
  17.         g.setAdapter(new ImageAdapter(this));//set image resource for gallery
     

  18.  
  19.         //add listener
     
  20.         g.setOnItemClickListener(new OnItemClickListener() {
     
  21.             public void onItemClick(AdapterView parent, VIEw v, int position, long id) {
     
  22.                     //just a test,u can start a game activity
     
  23.                 Toast.makeText(TestGallery.this, "" + position, Toast.LENGTH_SHORT).show();
     
  24.             }
     
  25.         });
     

  26.  

  27.  
  28.     }
     
  29. }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved