今天上午休息看Android书,里面有个变化图片的示例引起了我的兴趣。
示例需求: 有N张图片,循环显示图片的内容。如果需求让我写我会使用一个变量count来保存显示图片数据的索引,图片显示时做个判断 count == 数组的长度,如果是count =0; 但是这个案例使用的是 ++count % 数组的长度。 虽说功能实现相同,后者的方法不仅在代码的数量还是在代码的质量是都对前者有超越。 点赞一个。
1 //定义一个访问图片的数组 2 int [] imgs = new int []{ R.drawable.desert, R.drawable.hydrangeas, 3 R.drawable.jellyfish, R.drawable.koala}; 4 5 int count = 0; 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedInstanceState); 9 setContentView(R.layout.activity_main); 10 11 //获得布局容器 12 RelativeLayout rl = (RelativeLayout) this.findViewById(R.id.Relative); 13 //创建一个ImageView组件 14 final ImageView img = new ImageView(this); 15 //将ImageView组件添加到布局容器中 16 rl.addView(img); 17 //初始化时显示第一章图片 18 img.setImageResource(imgs[count]); 19 20 img.setOnClickListener(new View.OnClickListener( ) { 21 @Override 22 public void onClick(View v) { 23 //单击图片时改变图片的内容 24 img.setImageResource(imgs[++count % imgs.length]); 25 } 26 }); 27 }