Android 如何自定义ImageButton';谁的形象?
我允许应用程序的用户从可绘制文件夹更改ImageButton的图片 有可能吗 我想在Android 如何自定义ImageButton';谁的形象?,android,customization,imagebutton,android-drawable,Android,Customization,Imagebutton,Android Drawable,我允许应用程序的用户从可绘制文件夹更改ImageButton的图片 有可能吗 我想在onLongClickListener之后关联此操作, 我在Drawable文件夹中放入了大约3或4张图片(png),用户可以为其ImageButton选择一张。在onLongClickListener单击中,您可以弹出该选项,然后放置一个switch语句,并针对每种情况放置以下内容: aButton.setImageResource(R.drawable.image2); 以下是更详细的答案: 将以下内容放在
onLongClickListener
之后关联此操作,
我在
Drawable
文件夹中放入了大约3或4张图片(png),用户可以为其ImageButton
选择一张。在onLongClickListener单击中,您可以弹出该选项,然后放置一个switch语句,并针对每种情况放置以下内容:
aButton.setImageResource(R.drawable.image2);
以下是更详细的答案:
将以下内容放在布局的底部(就在最后一个关闭布局标记之前)
对于仅长按主图像按钮
mImageButton1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mFrameLayout.setVisibility(View.VISIBLE);
return true;
}
});
在同一文件中添加以下行以完成功能:
mImageButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mainImageButton.setImageResource(R.drawable.image1);
mFrameLayout.setVisibility(View.GONE);
}
});
mImageButton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mainImageButton.setImageResource(R.drawable.image2);
mFrameLayout.setVisibility(View.GONE);
}
});
谢谢rahulritesh,但是使用此解决方案,用户不能选择多个图像,我想(如果我理解正确的话),我想在多个图像之间进行选择。为什么你不能这样做?对于每个图像,您都有一个id,然后您可以根据选择做任何您想做的事情。您有理由,如何让用户可以选择?使用
FrameLayout
,然后使其在onLongClickListener上可见。在新布局中,将所有图像添加为ImageButtons,然后在onClick上,将FrameLayout的可见性设置为gone,并将主图像按钮的imageresource设置为单击的按钮之一。感谢您的解决方案,我将其标记为最佳解决方案。但我不知道怎么做你说的!:)
mImageButton1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mFrameLayout.setVisibility(View.VISIBLE);
return true;
}
});
mImageButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mainImageButton.setImageResource(R.drawable.image1);
mFrameLayout.setVisibility(View.GONE);
}
});
mImageButton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mainImageButton.setImageResource(R.drawable.image2);
mFrameLayout.setVisibility(View.GONE);
}
});