Android ImageButton 的图片将替换为另一张图片
Android ImageButton's image to be replaced with another image
我有一个 ImageButton
,我希望 onClick
将其替换为另一张图片(来回翻转)并长按,将其替换为另一张图片。
我该怎么做?
我不想为此看长篇纪录片。
如果您打算学习 Android(或任何语言或平台),您应该真正熟悉阅读所提供的文档,因为它会给您许多基本问题的答案,例如如何使用各种方法和 类.
除此之外,您需要为按钮设置 OnClickListener 和 OnLongClickListener。然后在这些侦听器中,您需要使用 setImageResource() 方法设置图像。该方法需要一个可绘制图像,您应该将其保存在可绘制文件夹中(如果没有,请将其放在那里!)
您没有 post 现有代码,所以这是一个通用示例。
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。
为您的按钮设置 onClickListeners,然后更改可绘制对象。由于您没有任何代码,因此以下内容基于仅概述如何执行所需操作的动态 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;
}
});
将 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 名称
我有一个 ImageButton
,我希望 onClick
将其替换为另一张图片(来回翻转)并长按,将其替换为另一张图片。
我该怎么做?
我不想为此看长篇纪录片。
如果您打算学习 Android(或任何语言或平台),您应该真正熟悉阅读所提供的文档,因为它会给您许多基本问题的答案,例如如何使用各种方法和 类.
除此之外,您需要为按钮设置 OnClickListener 和 OnLongClickListener。然后在这些侦听器中,您需要使用 setImageResource() 方法设置图像。该方法需要一个可绘制图像,您应该将其保存在可绘制文件夹中(如果没有,请将其放在那里!)
您没有 post 现有代码,所以这是一个通用示例。
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。
为您的按钮设置 onClickListeners,然后更改可绘制对象。由于您没有任何代码,因此以下内容基于仅概述如何执行所需操作的动态 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;
}
});
将 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 名称