单击按钮后,将一个图像替换为另一个图像

时间:2011-08-11 11:16:10

标签: android android-image

我在xml文件(imageview)中定义了一个图像。点击我的活动按钮后,我想将其更改为其他图像。我怎么能这样做?

8 个答案:

答案 0 :(得分:3)

首先是implements OnClickListener与活动类的接口。 Java代码

    package it.codegen.tbx.my;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MytestdroidActivity extends Activity implements OnClickListener {


    Button b1;
    ImageView iw;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       b1 = (Button) findViewById(R.id.button1);
       b1.setOnClickListener(this); 

       iw = (ImageView) findViewById(R.id.icon);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (v == b1)
        {
            iw.setImageResource(R.drawable.camara);
        }

    }
}

XML文件

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
<ImageView android:id="@+id/icon" android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:src="@drawable/icon"
        />
<Button android:text="Button" android:id="@+id/button1"
 android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>


</LinearLayout>

你的drawable文件夹调用图标和camara

中应该有2张图片

答案 1 :(得分:2)

public void onClick(View v) {
image1.setImageResource ( R.drawable.another);
}

答案 2 :(得分:1)

这是一个非常基本的事情,你应该通过做教程和阅读入门文档来学习。这是一个示例:

findViewById(R.id.button).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        final ImageView imageView = (ImageView) findViewById(R.id.image_view);
        imageView.setImageResource(R.drawable.some_drawable);
    }
}

答案 3 :(得分:1)

尝试这样的事情:

final Button switchButoon = new Button(mContext);
final ImageView imageView = new ImageView(mContext);

switchButoon.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        imageView.setImageResource(R.drawable.icon);
    }
});

答案 4 :(得分:1)

为此,我使用了ToggleButton并将自定义选择器指定为背景:

<ToggleButton android:background="@drawable/custom_selector>

为避免修改源代码,请使用选择器,您可以将其放在drawable \ custom_selector.xml目录中,即:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/image_pressed" android:state_checked="true" />
    <item android:drawable="@drawable/image" />
</selector>

答案 5 :(得分:1)

很简单,

//首先,我创建一个名为 OldImage 的变量,类型为ImageView,并将其链接到布局文件的ImageView

 ImageView oldImage = (ImageView) findViewById(R.id.oldImageFileName);

//创建OnClickListener方法更新文件资源点击 NewFileName

 oldImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                oldImage.setImageResource(R.drawable.newFileName);
            }
        });

答案 6 :(得分:1)

我希望我能解决它

ImageView imagen = (ImageView)findViewById(R.id.imageViewX);
imagen.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
        ImageView perse = (ImageView) findViewById(R.id.imageViewX);
        perse.setImageResource(R.drawable.fondochange);
     }
});

答案 7 :(得分:0)

在按钮单击侦听器中,只需将图像设置为

即可
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
    imageView.setImageResource(R.drawable.your_image);
}});