diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 677aac7..ad3ffa3 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -22,13 +22,38 @@ private val screenWidth by lazy { getScreenWidth() } private val screenHeight by lazy { getScreenHeight() } + //PDF默认缩放比例 + private var scale = 1f + + //PDF默认页 + private var offset = 0 + + //最大页码 + private var maxPages = 0 + override fun initEvent() { binding.topMoveButton.setOnClickListener { - binding.pdfView.moveRelativeTo(screenWidth / 2f, screenHeight / 6f) + binding.pdfView.moveRelativeTo(screenWidth / 2f, screenHeight / 5f) + } + + binding.lastPageButton.setOnClickListener { + offset-- + if (offset <= 0) { + offset = 0 + } + binding.pdfView.jumpTo(offset, true) + } + + binding.nextPageButton.setOnClickListener { + offset++ + if (offset >= maxPages) { + offset = maxPages + } + binding.pdfView.jumpTo(offset, true) } binding.bottomMoveButton.setOnClickListener { - binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 6f) + binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 5f) } } @@ -50,7 +75,9 @@ override fun onDownloadEnd(file: File) { LoadingDialogHub.dismiss() val inputStream = FileInputStream(file) - binding.pdfView.fromStream(inputStream).load() + binding.pdfView.fromStream(inputStream) + .onLoad { nbPages -> maxPages = nbPages } + .load() } override fun onFailure(throwable: Throwable) { @@ -61,8 +88,6 @@ Log.d(kTag, "initOnCreate: [$screenWidth, $screenHeight]") } - private var scale = 1f - override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { when (keyCode) { 22 -> { diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 677aac7..ad3ffa3 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -22,13 +22,38 @@ private val screenWidth by lazy { getScreenWidth() } private val screenHeight by lazy { getScreenHeight() } + //PDF默认缩放比例 + private var scale = 1f + + //PDF默认页 + private var offset = 0 + + //最大页码 + private var maxPages = 0 + override fun initEvent() { binding.topMoveButton.setOnClickListener { - binding.pdfView.moveRelativeTo(screenWidth / 2f, screenHeight / 6f) + binding.pdfView.moveRelativeTo(screenWidth / 2f, screenHeight / 5f) + } + + binding.lastPageButton.setOnClickListener { + offset-- + if (offset <= 0) { + offset = 0 + } + binding.pdfView.jumpTo(offset, true) + } + + binding.nextPageButton.setOnClickListener { + offset++ + if (offset >= maxPages) { + offset = maxPages + } + binding.pdfView.jumpTo(offset, true) } binding.bottomMoveButton.setOnClickListener { - binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 6f) + binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 5f) } } @@ -50,7 +75,9 @@ override fun onDownloadEnd(file: File) { LoadingDialogHub.dismiss() val inputStream = FileInputStream(file) - binding.pdfView.fromStream(inputStream).load() + binding.pdfView.fromStream(inputStream) + .onLoad { nbPages -> maxPages = nbPages } + .load() } override fun onFailure(throwable: Throwable) { @@ -61,8 +88,6 @@ Log.d(kTag, "initOnCreate: [$screenWidth, $screenHeight]") } - private var scale = 1f - override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { when (keyCode) { 22 -> { diff --git a/app/src/main/res/drawable/ic_move_page.xml b/app/src/main/res/drawable/ic_move_page.xml index e190b84..d39c0a8 100644 --- a/app/src/main/res/drawable/ic_move_page.xml +++ b/app/src/main/res/drawable/ic_move_page.xml @@ -4,7 +4,7 @@ android:viewportWidth="1024" android:viewportHeight="1024"> = maxPages) { + offset = maxPages + } + binding.pdfView.jumpTo(offset, true) } binding.bottomMoveButton.setOnClickListener { - binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 6f) + binding.pdfView.moveRelativeTo(screenWidth / 2f, -screenHeight / 5f) } } @@ -50,7 +75,9 @@ override fun onDownloadEnd(file: File) { LoadingDialogHub.dismiss() val inputStream = FileInputStream(file) - binding.pdfView.fromStream(inputStream).load() + binding.pdfView.fromStream(inputStream) + .onLoad { nbPages -> maxPages = nbPages } + .load() } override fun onFailure(throwable: Throwable) { @@ -61,8 +88,6 @@ Log.d(kTag, "initOnCreate: [$screenWidth, $screenHeight]") } - private var scale = 1f - override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { when (keyCode) { 22 -> { diff --git a/app/src/main/res/drawable/ic_move_page.xml b/app/src/main/res/drawable/ic_move_page.xml index e190b84..d39c0a8 100644 --- a/app/src/main/res/drawable/ic_move_page.xml +++ b/app/src/main/res/drawable/ic_move_page.xml @@ -4,7 +4,7 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:gravity="center_horizontal" + android:orientation="vertical"> + + + +