Aktivitas Utama.java
paket com.zhang.showPhoto; impor android.app.ActionBar.LayoutParams;impor android.app.Activity;impor android.os.Bundle;impor android.view.View;impor android.view.View.OnClickListener;impor android.view.animation.AnimationUtils;impor android .widget.Button;impor android.widget.ImageSwitcher;impor android.widget.ImageView;impor android.widget.ViewSwitcher.ViewFactory; kelas publik MainActivity memperluas Aktivitas { private int[] imagId=new int[]{ R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04, R.drawable.img05,R.drawable .img06,R.drawable.img07,R.drawable.img08, R.drawable.img09,R.drawable.img10 }; indeks int pribadi=0; ImageSwitcher pribadi imageSwitcher; Tombol pribadi atas, bawah; @Override dilindungi kekosongan onCreate(Bundel disimpanInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); up=(Tombol) findViewById(R.id.bt1); bawah=(Tombol) findViewById(R.id.bt2); imageSwitcher=(ImageSwitcher) findViewById(R.id.imagSw1); imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(ini, android.R.anim.fade_in)); imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(ini, android.R.anim.fade_out)); imageSwitcher.setFactory(ViewFactory baru() { Tampilan publik makeView() { ImageView imageView = ImageView baru(MainActivity.this); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setLayoutParams(ImageSwitcher.LayoutParams baru( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT )); mengembalikan imageView; imageSwitcher.setImageResource(imagId[indeks]); up.setOnClickListener(OnClickListener baru() { @Override public void onClick(Lihat v) { if(index>0){ indeks--; }else{ indeks=imagId.length-1; } imageSwitcher.setImageResource(imagId[index] ); down.setOnClickListener(OnClickListener baru() { @Override public void onClick(Lihat v) { if(index<imagId.length-1){ indeks++; }else{ indeks=0; } imageSwitcher.setImageResource(imagId[index]); } }); } }
utama.xml
<?xml version="1.0" coding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/bg1" android:id="@+id/llayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="horizontal" > <Tombol android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="上一张" android:id="@+id/bt1" /> <ImageSwitcher android:layout_width="wrap_content" android:layout_height=" wrap_content" android:id="@+id/imagSw1" android:layout_gravity="center" /> <Tombol android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一张" android:id="@+id/bt2" /> </LinearLayout>
再来看一段代码
// 获取图片的宽高 BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inJustDecodeBounds = benar; coba{ bitmapIn = BitmapFactory.decodeFile(Puzzle.user.CUSTOM_IMAGE[customImage], opt); }catch(Pengecualian e){ if(D) Log.d(TAG,"kesalahan"); kembali; } int in_w=opt.outWidth,in_h=opt.outHeight; // 获取tampilan gambar的尺寸 注意tampilan gambar的宽高比要与原图相同 否则需要另行计算 full_w = imageview.getWidth() full_h = getHeight() // fungsi int Size_rate=(in_w*in_h*10)/(full_w*full_h); if(Ukuran_rate>10){ Ukuran_rate+=5; Ukuran_rate/=10; }lainnya{ Ukuran_rate=1; } // 重新设置opt 读取图片文件 opt.inSampleSize=Size_rate; opt.inJustDecodeBounds = salah; opt.inScaled = salah; opt.outWidth=full_w; opt.outHeight=full_h; bitmapIn = BitmapFactory.decodeFile(Puzzle.user.CUSTOM_IMAGE[customImage], opt);}