#android #imageview #slideshow #ontouchlistener #touch-event
#Android #просмотр изображений #слайд-шоу #ontouchlistener #касание-событие
Вопрос:
Привет, ребята, я хочу использовать ImageView в качестве слайд-шоу, которое касается вас справа от экрана, отображает следующее изображение, и если касание слева показывает предыдущее изображение, я уже пытался реализовать эту функцию, но я не получаю ответа от ImageView, просматривая logcat, я понял, что этоне отправляет TouchEvent.
public class Prova4Activity extends Activity implements OnTouchListener {
/** Called when the activity is first created. */
ImageView image;
Bitmap trash = loadImageFromUrl("http://www.televideo.rai.it/televideo/pub/tt4web/ Nazionale/16_9_page-100.6.png");
ImageView imgpag;
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.EDGE_RIGHT){
trash.recycle();
trash = null;
trash = loadImageFromUrl("http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/16_9_page-100.6.png");
image.setImageBitmap(trash);
}else if(event.getAction() == MotionEvent.EDGE_LEFT){
trash.recycle();
trash = null;
trash = loadImageFromUrl("http://www.televideo.rai.it/televideo/pub/tt4web/ Nazionale/16_9_page-100.5.png");
imgpag.setImageBitmap(trash);
}
imgpag.setScaleType(ScaleType.FIT_XY);
return true;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgpag = (ImageView)findViewById (R.id.imgpag);
imgpag.setImageBitmap(trash);
imgpag.setOnTouchListener(this);
}
}
Я бы не стал использовать галерею, потому что изображения маленькие и заранее не знаю количество изображений, потому что я загружаю их непосредственно из Интернета на основе действий пользователя
Ответ №1:
Возможно, это не лучший способ добиться этого, но вы можете попробовать следующее:
Установите две кнопки на экране — одну в правом углу и Одну в левом углу. (Если вы показываете ImageView во весь экран, тогда лучше использовать FrameLayout — bt убедитесь, что кнопки находятся спереди) Установите свойства кнопок, такие как
<Button
android:id="@ id/button1"
android:layout_width="70dp"
android:layout_height="40dp" android:background="@null"/>
Это гарантирует, что кнопки невидимы
Затем просто добавьте свою логику предыдущего и следующего на onClickListeners этих кнопок
Надеюсь, это поможет вам