Android 如何自定义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); 以下是更详细的答案: 将以下内容放在

我允许应用程序的用户从可绘制文件夹更改ImageButton的图片

有可能吗

我想在
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);
    }
});