如何让ImageView点击后换成另一张图片 ?(不是说点击时换成其他图片,点击恢复后变为原来)。点之前是A图片,点之后变为B图片。

解决方案 »

  1.   

    如果说点击时换成其他图片,点击恢复后变为原来。可以直接读取selector配置文件,但这只是满足了Button的效果,点击结束后,会恢复到原来的状态
      

  2.   

    给ImageView设置点击监听,当点击了,换图片
    代码:public class Test extends Activity {
    ImageView iv;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
             iv = (ImageView)findViewById(R.id.imageView1);
            iv.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v == iv)
    iv.setImageDrawable(getResources().getDrawable(R.drawable.png1));
    }
    });
        }
      

  3.   

    点击事件下大概就是这样
    boolean change;
    if(true)
    {
    setImageResource(R.drawable.A);
    change = !change; 
    }
    else
    {
    setImageResource(R.drawable.A);
    change = !change; 
    }
      

  4.   

    如果要有点击就变化的效果。。
    加个判断条件吧。
    代码:public class Test extends Activity {
    ImageView iv;
    boolean isChanged = false;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
             iv = (ImageView)findViewById(R.id.imageView1);
            iv.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v == iv)
    {
    if(isChanged){
    iv.setImageDrawable(getResources().getDrawable(R.drawable.icon));
    }else
    {
    iv.setImageDrawable(getResources().getDrawable(R.drawable.png1));
    }
    isChanged = !isChanged;

    }
    }
    });
        }
    }
      

  5.   

    很简单的件事...做过动态生成ImageView的基本都会吧...