просмотр изображений как слайд-шоу

#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 этих кнопок

Надеюсь, это поможет вам