切换imageView的几种办法

作者:张君杰

最近在做五子棋的界面的时候,需要有一块区域动态显示当前棋局的情况,考虑到字体和现实效果,我决定用图片来显示,这就用到了在java代码中动态切换imageView的源。

我上网找了下,有这么几种方法:


[java]  view plain copy
  1. ImageView iv;   
  2. String fileName = "/data/data/com.test/aa.png;   
  3. Bitmap bm = BitmapFactory.decodeFile(fileName);   
  4. iv.setImageBitmap(bm);   
  5.   
  6. ImageView iv = new ImageView(context);  
  7. iv.setImageResource(iv[position]);  
  8. iv.setScaleType(ImageView.ScaleType.FIT_XY);   
  9. iv.setLayoutParams(new Gallery.LayoutParams(136,88));  
  10.   
  11. mImageView = (ImageView)this.findViewById(R.id.myImageView1);   
  12. mImageView.setImageDrawable(getResources().getDrawable(R.drawable.right));  


但是我考虑到我这块显示区域切换比较频繁,每次都用这类语句挺麻烦的,于是我找到了另外一种方法,用xml文件预先设置好源,然后在代码里直接调用就可以了。如下:


切换imageView的几种办法_第1张图片



在res下drawable下新建一个xml文件,名称按照自己喜好起,文件内容如下:


切换imageView的几种办法_第2张图片


一条一条的设置好源图片和对应的id,然后设置imageView的属性:

android:src="@drawable/boardlook"

然后我们在Java文件里只要这样应用就可以了:

board.getDrawable().setLevel(2);//board是这里的imageView

如果图片很多的话,用这个方法切换就方便多了。

 

另外我们可以配合

board.setVisibility(View.GONE);

board.setVisibility(View.VISIBLE);

这样就可以使得一个imageView时而显示时而隐藏,加之能切换图片,这样的话可以做出一些行为简单内容比较漂亮的状态显示。

你可能感兴趣的:(java,android,xml)