画廊视图Gallery
16lz
2021-01-23
幻灯片图片浏览器
1.布局
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context=".AndroidGalleryActivity" > 7 8 <ImageSwitcher 9 android:id="@+id/imgswi"10 android:layout_width="320dp"11 android:layout_height="320dp" />12 13 <Gallery14 android:id="@+id/gallery"15 android:layout_width="match_parent"16 android:layout_height="wrap_content"17 android:layout_marginTop="25dp"18 android:unselectedAlpha="0.6"19 android:spacing="3pt"20 />21 22 </LinearLayout>
2.逻辑控制
1 package com.example.androidgallery; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.content.res.TypedArray; 6 import android.support.v4.view.ViewPager.LayoutParams; 7 import android.view.Menu; 8 import android.view.View; 9 import android.view.ViewGroup; 10 import android.view.animation.AnimationUtils; 11 import android.widget.AdapterView; 12 import android.widget.AdapterView.OnItemSelectedListener; 13 import android.widget.BaseAdapter; 14 import android.widget.Gallery; 15 import android.widget.ImageSwitcher; 16 import android.widget.ImageView; 17 import android.widget.ViewSwitcher.ViewFactory; 18 19 public class AndroidGalleryActivity extends Activity { 20 21 int[] imageIds=new int[]{ 22 R.drawable.mm, 23 R.drawable .mm2, 24 R.drawable.mm3, 25 R.drawable.mm4 26 } ; 27 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_android_gallery); 32 final Gallery gallery=(Gallery)this.findViewById(R.id.gallery); 33 final ImageSwitcher imgswi=(ImageSwitcher)this.findViewById(R.id.imgswi); 34 //设置ViewFactory对象 35 imgswi.setFactory(new ViewFactory() { 36 37 @Override 38 public View makeView() { 39 ImageView imageView=new ImageView(AndroidGalleryActivity.this); 40 imageView.setBackgroundColor(0xff0000); 41 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 42 imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 43 return imageView; 44 } 45 }); 46 //设置图片更换动画效果 47 imgswi.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); 48 imgswi.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out)); 49 //创建一个BaseAdapter对象,负责提供Gallery显示每张图片 50 BaseAdapter adapter=new BaseAdapter() { 51 52 @Override 53 public View getView(int position, View convertview, ViewGroup parent) { 54 //创建一个ImageView 55 ImageView imageView=new ImageView(AndroidGalleryActivity.this); 56 imageView.setImageResource(imageIds[position%imageIds.length]); 57 //设置ImageView缩放类型 58 imageView.setScaleType(ImageView.ScaleType.FIT_XY); 59 imageView.setLayoutParams(new Gallery.LayoutParams(75,100)); 60 /*TypedArray typeArray=obtainStyledAttributes(R.styleable.Gallery); 61 imageView.setBackgroundResource(TypedArray)*/ 62 return imageView; 63 } 64 65 @Override 66 public long getItemId(int arg0) { 67 // TODO Auto-generated method stub 68 return arg0; 69 } 70 71 @Override 72 public Object getItem(int arg0) { 73 // TODO Auto-generated method stub 74 return arg0; 75 } 76 77 @Override 78 public int getCount() { 79 // TODO Auto-generated method stub 80 return imageIds.length; 81 } 82 }; 83 84 gallery.setAdapter(adapter); 85 gallery.setOnItemSelectedListener(new OnItemSelectedListener() { 86 87 @Override 88 public void onItemSelected(AdapterView<?> parent, View view, 89 int position, long id) { 90 // TODO Auto-generated method stub 91 imgswi.setImageResource(imageIds[position%imageIds.length]); 92 } 93 94 @Override 95 public void onNothingSelected(AdapterView<?> parent) { 96 // TODO Auto-generated method stub 97 98 } 99 100 });101 }102 103 @Override104 public boolean onCreateOptionsMenu(Menu menu) {105 // Inflate the menu; this adds items to the action bar if it is present.106 getMenuInflater().inflate(R.menu.activity_android_gallery, menu);107 return true;108 }109 110 }
更多相关文章
- Android Bitmap对象与byte[]相互转换
- 图片拖动功能实现
- Android平台上实现图片的缩放,圆角,倒影效果
- Android 整屏截图与区域指定view或layout截屏并返回bitmap对象
- android读取图片
- Android 使用Glide实现圆形和圆角图片
- 2012-7-20 android 图片叠加效果——两种方法
- 使用意图在Activity之间传递数据小插曲__传递自定义的序列化对象