Android学习笔记(十四)Gallery画廊

       Gallery,画廊的意思,用于显示图片,不过在16版本中已经作为过时的widget ,Gallery是一个锁定中心条目并且拥有水平滚动列表的视图。

Gallery(画廊)中的视图应该使用Gallery.LayoutParams作为它们的布局参数类型

XML属性:

属性名称

对应的方法

描述

android:animationDuration                

setAnimationDuration(int)                 

设置布局变化时动画的转换所需的时间(毫秒级)。仅在动画开始时计时。该值必须是整数,比如:100

android:gravity
setGravity(int)
指定在对象的XY轴上如何放置内容。指定一下常量中的一个或多个(使用 “|”分割)
android:spacing
setSpacing(int)
设置图片之间的间距
android:unselectedAlpha                
setUnselectedAlpha(float)               
设置未选中的条目的透明度(Alpha)。该值必须是float类型,比如:“1.2”。

下面我们来看一个示例:
Android XML文件:
<?xml version="1.0" encoding="utf-8"?>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gallery1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:spacing="2dp" />
我们指定了图片之间的间距为2dp
java 源码:
public class GalleryActivity extends Activity {

 int currentImageIndex = 0;
 int images[] = { R.drawable.ic_launcher, 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 };

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  final Gallery gallery = (Gallery) findViewById(R.id.gallery1);
  gallery.setAdapter(new ImageAdapter());
  gallery.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position,
     long id) {
    Toast.makeText(GalleryActivity.this,"your selected postion is:"+position,Toast.LENGTH_SHORT).show();
   }
  });
 }

 private class ImageAdapter extends BaseAdapter {

  @Override
  public int getCount() {
   return images.length;
  }

  @Override
  public Object getItem(int position) {
   return null;
  }

  @Override
  public long getItemId(int position) {
   return position;
  }

  @Override
  public View getView(int position, View arg1, ViewGroup arg2) {
   ImageView imageView = new ImageView(GalleryActivity.this);
   imageView.setImageResource(images[position]);
   imageView.setScaleType(ScaleType.FIT_XY);
   imageView.setLayoutParams(new Gallery.LayoutParams(136, 88));
   return imageView;
  }
 }
}
运行后显示效果为:
Android学习笔记(十四)Gallery画廊_第1张图片

你可能感兴趣的:(Android学习笔记(十四)Gallery画廊)