我允许应用用户从可绘制文件夹中更改ImageButton的图片?
有可能吗?
我希望在onLongClickListener
之后关联此操作,
我在Drawable
文件夹中放了大约3张或4张图片(png),用户可以为ImageButton
选择一张。
答案 0 :(得分:0)
是的,你可以。在onLongClickListener上单击,您可以弹出该选项,然后输入一个switch语句,并为每个案例添加以下内容:
aButton.setImageResource(R.drawable.image2);
以下是更详细的答案:
将以下内容放在布局的底部(就在最后一个关闭布局标记之前)
<FrameLayout
android:id="@+id/imagebuttonselectorlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:background="@android:color/black" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imgButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image1" />
<ImageButton
android:id="@+id/imgButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image2" />
</LinearLayout>
</FrameLayout>
然后,在java类文件中,添加以下行:
FrameLayout mFrameLayout;
ImageButton mImageButton1;
ImageButton mImageButton2;
mFrameLayout = (FrameLayout)findViewById(R.id.imagebuttonselectorlayout);
mImageButton1 = (ImageButton)findViewById(R.id.imgButton1);
mImageButton2 = (ImageButton)findViewById(R.id.imgButton2);
用于主图像按钮的onLongClick
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);
}
});