Android ImageButton的图像将被另一个图像替换

时间:2015-07-08 16:08:23

标签: android android-imagebutton

我有一个ImageButton,我希望onClick将其替换为另一张图片(来回翻转)并长按,将其替换为另一张图片。

我该怎么做?

我不想为此阅读长篇纪录片。

3 个答案:

答案 0 :(得分:1)

为您的按钮设置onClickListeners,然后更改drawable。由于您没有任何代码,因此以下内容基于动态ImageButton,该动态ImageButton仅概述了如何执行所需的操作。我建议您先在XML布局中定义ImageButton然后再使用  iBtn = (ImageButton) findViewById(R.id.btnID);

ImageButton iBtn = new ImageButton(this);
        iBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                iBtn.setImageDrawable(getResources().getDrawable(R.drawable.img1);

            }
        });
        iBtn.setOnLongClickListener(new View.OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                iBtn.setImageDrawable(getResources().getDrawable(R.drawable.img2);
                return true;
            }
        });

答案 1 :(得分:0)

如果您要学习Android(或任何语言或平台),您应该非常乐于阅读所提供的文档,因为它将为您提供许多基本问题的答案,例如如何使用各种方法和类

除此之外,您需要为按钮设置OnClickListener和OnLongClickListener。然后在这些侦听器中,您需要使用setImageResource()方法设置图像。该方法需要一个可绘制的图像,您应该将其保存在可绘制文件夹中(如果没有,请将其放在那里!)

您没有发布现有代码,因此这是一个通用示例。

ImageButton button = (ImageButton) findViewById(R.id.img_button);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        button.setImageResource(R.drawable.pic1);
    }
});
button.setOnLongClickListener(new OnLongClickListener() {
    public boolean onLongClick(View v) {
        button.setImageResource(R.drawable.pic2);

        return true; // <-- This must be true.
    }
});

您可以进一步了解如何使用the button guide中的任何按钮,您只需在适当的位置交换ImageButton。

答案 2 :(得分:0)

将ImageButton添加到您的布局:

 <ImageButton
    android:id="@+id/img_btn1"
    android:src="@drawable/imgc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

然后将此代码添加到Activity Oncreate()方法

 ImageButton imageButton;
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     imageButton = (ImageButton) findViewById(R.id.img_btn1);

    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            imageButton.setImageResource(R.drawable.imga);
        }
    });


    imageButton.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            imageButton.setImageResource(R.drawable.imgb);
            return true;
        }
    });

}

根据您的图片更改imga,imgb,imgc名称,将其放置在可绘制的文件夹中