Android 控件之Gallery图片集

   Gallery是Android中的图片库控件。先看效果,爽一番

源码下载

一、简介

  在中心锁定,水平显示列表的项。

二、实例

1.布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"   android:orientation="vertical"  android:layout_height="wrap_content">    <Gallery xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content"/><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="wrap_content">    <Gallery android:id="@+id/gallery1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center_vertical"        android:spacing="16dp"    /></LinearLayout></LinearLayout>

2.属性文件

<?xml version="1.0" encoding="utf-8"?><resources>    <declare-styleable name="TogglePrefAttrs">        <attr name="android:preferenceLayoutChild" />    </declare-styleable>        <!-- These are the attributes that we want to retrieve from the theme         in view/Gallery1.java -->    <declare-styleable name="Gallery1">        <attr name="android:galleryItemBackground" />    </declare-styleable>         <declare-styleable name="LabelView">        <attr name="text" format="string" />        <attr name="textColor" format="color" />        <attr name="textSize" format="dimension" />    </declare-styleable></resources> 3.代码/** *  */package wjq.WidgetDemo;import android.R.layout;import android.app.Activity;import android.content.Context;import android.content.res.TypedArray;import android.database.Cursor;import android.os.Bundle;import android.provider.Contacts.People;import android.view.ContextMenu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.ContextMenu.ContextMenuInfo;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.SimpleCursorAdapter;import android.widget.SpinnerAdapter;import android.widget.Toast;import android.widget.AdapterView.AdapterContextMenuInfo;/** * @author 记忆的永恒 *  */public class GalleryDemo extends Activity { private Gallery gallery; private Gallery gallery1; /*  * (non-Javadoc)  *   * @see android.app.Activity#onCreate(android.os.Bundle)  */ @Override protected void onCreate(Bundle savedInstanceState) {  // TODO Auto-generated method stub  super.onCreate(savedInstanceState);  setContentView(R.layout.gallerypage);  gallery = (Gallery) findViewById(R.id.gallery);  gallery.setAdapter(new ImageAdapter(this));    registerForContextMenu(gallery);     Cursor c = getContentResolver().query(People.CONTENT_URI, null, null, null, null);         startManagingCursor(c);                  SpinnerAdapter adapter = new SimpleCursorAdapter(this,         // Use a template that displays a text view                 android.R.layout.simple_gallery_item,                 // Give the cursor to the list adatper                 c,                 // Map the NAME column in the people database to...                 new String[] {People.NAME},                 // The "text1" view defined in the XML template                 new int[] { android.R.id.text1 });         gallery1= (Gallery) findViewById(R.id.gallery1);         gallery1.setAdapter(adapter); } @Override public void onCreateContextMenu(ContextMenu menu, View v,   ContextMenuInfo menuInfo) {  menu.add("Action"); } @Override public boolean onContextItemSelected(MenuItem item) {  AdapterContextMenuInfo info = (AdapterContextMenuInfo) item    .getMenuInfo();  Toast.makeText(this, "Longpress: " + info.position, Toast.LENGTH_SHORT)    .show();  return true; }  public class ImageAdapter extends BaseAdapter {  int mGalleryItemBackground;  private Context mContext;  private Integer[] mImageIds = { R.drawable.b, R.drawable.c,    R.drawable.d, R.drawable.f, R.drawable.g };  public ImageAdapter(Context context) {   mContext = context;   TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);   mGalleryItemBackground = a.getResourceId(     R.styleable.Gallery1_android_galleryItemBackground, 0);   a.recycle();  }  @Override  public int getCount() {   return mImageIds.length;  }  @Override  public Object getItem(int position) {   return position;  }  @Override  public long getItemId(int position) {   return position;  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {   ImageView i = new ImageView(mContext);   i.setImageResource(mImageIds[position]);   i.setScaleType(ImageView.ScaleType.FIT_XY);   i.setLayoutParams(new Gallery.LayoutParams(300, 400));   // The preferred Gallery item background   i.setBackgroundResource(mGalleryItemBackground);   return i;  } }} 

更多相关文章

  1. Android中自定义控件之飞入飞出布局及随机布局实现方式
  2. 学习Android中的Adapter
  3. android实现页面下方的Tab效果
  4. android google map apiKey 相关操作
  5. android移植详解
  6. Android(安卓)日期和时间选择控件的开发
  7. android平台上的文件下载,文件和文件的操作
  8. android 五大布局
  9. NPM 和webpack 的基础使用

随机推荐

  1. AndroidManifest.xml中application name
  2. Android(安卓)UI设计——ViewPage中自定
  3. Android中文件与文件夹的创建(file)
  4. Android开机动画之开机bootvideo与bootan
  5. android popupwindow 动画 特效 案例
  6. EditText的属性说明
  7. android之微信分享图片
  8. Android(安卓)简单通用的基类
  9. Android(安卓)Studio 中的maven仓库使用
  10. Android三种网络通讯机制介绍及区别