我有一个ImageButton
,我希望onClick
将其替换为另一张图片(来回翻转)并长按,将其替换为另一张图片。
我该怎么做?
我不想为此阅读长篇纪录片。
答案 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名称,将其放置在可绘制的文件夹中