最近项目不是很忙,就研究点平时没有接接触过的控件,直接上代码,效果图附件,界面有点丑
/** * Created by Y on 2015/7/16. */ public class GalleryActivity extends Activity implements ViewSwitcher.ViewFactory{ private Gallery gallery; private ImageSwitcher imageSwitcher; //图片源数组 private Integer[] imageInteger={ R.drawable.ic_launcher, R.drawable.logo_twitter, R.drawable.logo_vkontakte, R.drawable.logo_wechat, R.drawable.logo_wechatfavorite, R.drawable.logo_wechatmoments, R.drawable.logo_whatsapp }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.grally); initViews(); gallery.setAdapter(new ImageAdapter(this)); imageSwitcher.setFactory(this); imageSwitcher.setImageResource(imageInteger[0]); gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(GalleryActivity.this, "点击了第" + (position + 1) + "张图片", Toast.LENGTH_LONG).show(); //实现onItemSelected()方法,更换图片 imageSwitcher.setImageResource(imageInteger[position]); } }); } private void initViews() { gallery = (Gallery) findViewById(R.id.gallery); imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher); } @Override public View makeView() {//实现makeView()方法,为ImageView设置布局格式 ImageView i = new ImageView(this); //设置背景颜色 i.setBackgroundColor(0xFF000000); //设置比例类型 i.setScaleType(ImageView.ScaleType.FIT_CENTER); //设置布局参数 i.setLayoutParams(new ImageSwitcher.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT)); return i; } class ImageAdapter extends BaseAdapter { //声明Context private Context context; //声明 ImageAdapter public ImageAdapter(Context c){ context = c; } @Override //获取图片的个数 public int getCount() { return imageInteger.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 imageView = new ImageView(context); //给ImageView设置资源 imageView.setImageResource(imageInteger[position]); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); //设置比例类型 imageView.setScaleType(ImageView.ScaleType.FIT_XY); //设置布局 图片128x192显示 imageView.setLayoutParams(new Gallery.LayoutParams(400, 400)); return imageView; } } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageSwitcher android:id="@+id/imageSwitcher" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <Gallery android:id="@+id/gallery" android:background="#55000000" android:layout_width="fill_parent" android:layout_height="120dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:gravity="center_vertical" android:spacing="16dp" /> </RelativeLayout>