Я использую PDFViewer во фрагменте в Android Studio. Библиотека найдена здесь: https://github.com/barteksc/AndroidPdfViewer
Я реализую ее с Gradle. Это прекрасно работает, когда я позволяю библиотеке обрабатывать все сенсорные события. Я даже могу установить свой собственный onTouchListener и отображать всплывающее сообщение при касании просмотра PDF. Я хотел бы скрыть системные панели инструментов, когда я делаю событие onSingleTapConfirmed, но кажется, что когда я сам обрабатываю любое событие касания, он не дает PDFView также получать это событие касания. В результате PDFView не будет реагировать на прикосновения, масштабирование и т. Д. c.
Вот код, который я использую. Он отлично работал для ImageView.
import com.github.barteksc.pdfviewer.PDFView;
private GestureDetectorCompat mDetector;
PDFView pdfView;
pdfView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "hi", Toast.LENGTH_SHORT).show();
mDetector.onTouchEvent(event);
return true;
}
});
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
if(getSupportActionBar() != null && getSupportActionBar().isShowing()) { // Action Bars Visible
if(TouchOutsidePopup == 1) {
TouchOutsidePopup = 0;
return true;
} else {
hideSystemUI();
}
} else { // Action Bars Invisible
if(TouchOutsidePopup == 1) {
TouchOutsidePopup = 0;
return true;
} else {
showSystemUI();
}
}
return true;
}
}
Я также не могу редактировать библиотеку PDFViewer, потому что она доступна только для чтения. Спасибо!