使用Android實(shí)現(xiàn)圖像切換器?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
java代碼:
private int[] imageId = 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 }; // 聲明并初始化一個(gè)保存要顯示圖像ID的數(shù)組 private int index = 0; // 當(dāng)前顯示圖像的索引 private ImageSwitcher imageSwitcher; // 聲明一個(gè)圖像切換器對象 imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1); // 獲取圖像切換器 // 設(shè)置動畫效果 imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); // 設(shè)置淡入動畫 imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); // 設(shè)置淡出動畫 imageSwitcher.setFactory(new ViewFactory() { @Override public View makeView() { ImageView imageView = new ImageView(MainActivity.this); // 實(shí)例化一個(gè)ImageView類的對象 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); // 設(shè)置保持縱橫比居中縮放圖像 imageView.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); return imageView; // 返回imageView對象 } }); imageSwitcher.setImageResource(imageId[index]); // 顯示默認(rèn)的圖片 Button up = (Button) findViewById(R.id.btn1); // 獲取“上一張”按鈕 Button down = (Button) findViewById(R.id.btn2); // 獲取“下一張”按鈕 up.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (index > 0) { index--; } else { index = imageId.length - 1; } imageSwitcher.setImageResource(imageId[index]); // 顯示當(dāng)前圖片 } }); down.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (index < imageId.length - 1) { index++; } else { index = 0; } imageSwitcher.setImageResource(imageId[index]); // 顯示當(dāng)前圖片 } });