Да, вы можете. На onLongClickListener мыши, вы можете всплывал опцию, а затем поставить переключатель заявление и поставить следующее для каждого из случаев:
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);
}
});
Благодаря rahulritesh, но ти этого решения пользователь не может выберите более одного изображения, я думаю (если я правильно понимаю), Я хочу выбрать между фотографиями –
Почему ты не можешь это сделать? Для каждого изображения у вас есть идентификатор, а затем вы можете делать все, что хотите, на основе выбора. – rahulritesh
У вас есть причина, как можно дать возможность Пользователю выбрать? –