Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PDF Viewer Scanner White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
PDF Viewer Scanner White
Commits
c01833f8
Commit
c01833f8
authored
Sep 18, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
bfe2518c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
13 deletions
+90
-13
PdfTestActivity.kt
...src/main/java/com/artifex/mupdf/viewer/PdfTestActivity.kt
+43
-4
DocumentFragment.kt
...om/base/pdfviewerscannerwhite/ui/main/DocumentFragment.kt
+1
-0
activity_pdf.xml
app/src/main/res/layout/activity_pdf.xml
+1
-1
activity_pdf_test.xml
app/src/main/res/layout/activity_pdf_test.xml
+45
-8
No files found.
app/src/main/java/com/artifex/mupdf/viewer/PdfTestActivity.kt
View file @
c01833f8
package
com.artifex.mupdf.viewer
package
com.artifex.mupdf.viewer
import
android.annotation.SuppressLint
import
android.net.Uri
import
android.net.Uri
import
android.util.DisplayMetrics
import
android.util.DisplayMetrics
import
android.view.View
import
android.view.View
...
@@ -8,13 +9,23 @@ import android.view.inputmethod.InputMethodManager
...
@@ -8,13 +9,23 @@ import android.view.inputmethod.InputMethodManager
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.isVisible
import
androidx.core.view.isVisible
import
androidx.core.widget.addTextChangedListener
import
androidx.core.widget.addTextChangedListener
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfTestBinding
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfTestBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfPagerAdapter
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfPresenter
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfView
import
com.base.pdfviewerscannerwhite.utils.LogEx
/**
/**
* [com.artifex.mupdf.viewer.DocumentActivity]
* [com.artifex.mupdf.viewer.DocumentActivity]
*/
*/
class
PdfTestActivity
:
BaseActivity
<
ActivityPdfTestBinding
>()
{
class
PdfTestActivity
:
BaseActivity
<
ActivityPdfTestBinding
>(),
PdfView
{
private
val
TAG
=
"PdfTestActivity"
private
lateinit
var
pdfPresenter
:
PdfPresenter
private
lateinit
var
adapter
:
PdfPagerAdapter
private
var
core
:
MuPDFCore
?
=
null
private
var
core
:
MuPDFCore
?
=
null
private
lateinit
var
readerView
:
ReaderView
private
lateinit
var
readerView
:
ReaderView
...
@@ -23,8 +34,8 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -23,8 +34,8 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
//居然是这样实现的
//居然是这样实现的
private
var
mFlatOutline
:
ArrayList
<
OutlineActivity
.
Item
>?
=
null
private
var
mFlatOutline
:
ArrayList
<
OutlineActivity
.
Item
>?
=
null
private
var
mLayoutW
=
312
private
var
mLayoutW
=
440
private
var
mLayoutH
=
504
private
var
mLayoutH
=
660
private
var
mDisplayDPI
=
0
private
var
mDisplayDPI
=
0
private
val
mLayoutEM
=
10
private
val
mLayoutEM
=
10
...
@@ -34,17 +45,22 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -34,17 +45,22 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
}
}
private
var
uri
:
String
=
""
private
var
uri
:
String
=
""
private
var
size
=
-
1L
private
var
size
=
-
1L
private
var
path
:
String
=
""
override
fun
initView
()
{
override
fun
initView
()
{
pdfPresenter
=
PdfPresenter
(
this
,
this
)
val
metrics
=
DisplayMetrics
()
val
metrics
=
DisplayMetrics
()
windowManager
.
defaultDisplay
.
getMetrics
(
metrics
)
windowManager
.
defaultDisplay
.
getMetrics
(
metrics
)
mDisplayDPI
=
metrics
.
densityDpi
mDisplayDPI
=
metrics
.
densityDpi
uri
=
intent
.
extras
?.
getString
(
"uri"
)
?:
""
uri
=
intent
.
extras
?.
getString
(
"uri"
)
?:
""
path
=
intent
.
extras
?.
getString
(
"path"
)
?:
""
size
=
intent
.
extras
?.
getLong
(
"size"
)
?:
-
1L
size
=
intent
.
extras
?.
getLong
(
"size"
)
?:
-
1L
initAdapter
()
core
=
openCore
()
core
=
openCore
()
initSearchTask
()
initSearchTask
()
...
@@ -52,11 +68,20 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -52,11 +68,20 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
}
else
{
}
else
{
initReaderView
()
initReaderView
()
pdfPresenter
.
iniPdfPage
(
path
)
}
}
}
}
private
fun
initAdapter
()
{
adapter
=
PdfPagerAdapter
(
path
)
adapter
.
clickAction
=
{
pageIndex
->
}
binding
.
rvPager
.
adapter
=
adapter
}
override
fun
initListener
()
{
override
fun
initListener
()
{
super
.
initListener
()
super
.
initListener
()
onBackPressedDispatcher
.
addCallback
{
onBackPressedDispatcher
.
addCallback
{
...
@@ -136,9 +161,18 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -136,9 +161,18 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
return
MuPDFCore
(
ContentInputStream
(
this
.
contentResolver
,
Uri
.
parse
(
uri
),
size
),
"application/pdf"
)
return
MuPDFCore
(
ContentInputStream
(
this
.
contentResolver
,
Uri
.
parse
(
uri
),
size
),
"application/pdf"
)
}
}
@SuppressLint
(
"SetTextI18n"
)
private
fun
initReaderView
()
{
private
fun
initReaderView
()
{
binding
.
tvPageCount
.
text
=
"1/${core?.countPages()}"
readerView
=
object
:
ReaderView
(
this
)
{
readerView
=
object
:
ReaderView
(
this
)
{
@SuppressLint
(
"SetTextI18n"
)
override
fun
onMoveToChild
(
i
:
Int
)
{
LogEx
.
logDebug
(
TAG
,
"onMoveToChild $i"
)
binding
.
tvPageCount
.
text
=
"${i + 1}/${core?.countPages()}"
super
.
onMoveToChild
(
i
)
}
override
fun
onTapMainDocArea
()
{
override
fun
onTapMainDocArea
()
{
super
.
onTapMainDocArea
()
super
.
onTapMainDocArea
()
...
@@ -154,8 +188,9 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -154,8 +188,9 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
refresh
()
refresh
()
}
}
}
}
}
}
readerView
.
adapter
=
PageAdapter
(
this
,
core
)
readerView
.
adapter
=
PageAdapter
(
this
,
core
)
...
@@ -181,4 +216,8 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
...
@@ -181,4 +216,8 @@ class PdfTestActivity : BaseActivity<ActivityPdfTestBinding>() {
super
.
onResume
()
super
.
onResume
()
}
}
override
fun
initPdfPageRv
(
items
:
List
<
PdfPageBean
>)
{
adapter
.
submitList
(
items
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/DocumentFragment.kt
View file @
c01833f8
...
@@ -56,6 +56,7 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView
...
@@ -56,6 +56,7 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView
// putExtra("path", path)
// putExtra("path", path)
// })
// })
val
intent
:
Intent
=
Intent
(
requireContext
(),
PdfTestActivity
::
class
.
java
)
val
intent
:
Intent
=
Intent
(
requireContext
(),
PdfTestActivity
::
class
.
java
)
intent
.
putExtra
(
"path"
,
item
.
path
)
intent
.
putExtra
(
"uri"
,
item
.
uri
.
toString
())
intent
.
putExtra
(
"uri"
,
item
.
uri
.
toString
())
val
size
=
File
(
item
.
path
).
length
()
val
size
=
File
(
item
.
path
).
length
()
intent
.
putExtra
(
"size"
,
size
)
intent
.
putExtra
(
"size"
,
size
)
...
...
app/src/main/res/layout/activity_pdf.xml
View file @
c01833f8
...
@@ -108,9 +108,9 @@
...
@@ -108,9 +108,9 @@
android:id=
"@+id/rv_pager"
android:id=
"@+id/rv_pager"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"88dp"
android:layout_height=
"88dp"
android:orientation=
"horizontal"
android:paddingHorizontal=
"4dp"
android:paddingHorizontal=
"4dp"
android:paddingTop=
"5dp"
android:paddingTop=
"5dp"
android:orientation=
"horizontal"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/pdfview"
app:layout_constraintTop_toBottomOf=
"@id/pdfview"
...
...
app/src/main/res/layout/activity_pdf_test.xml
View file @
c01833f8
...
@@ -8,15 +8,8 @@
...
@@ -8,15 +8,8 @@
android:background=
"@color/white"
android:background=
"@color/white"
tools:context=
"com.artifex.mupdf.viewer.PdfTestActivity"
>
tools:context=
"com.artifex.mupdf.viewer.PdfTestActivity"
>
<RelativeLayout
android:id=
"@+id/rl"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
</RelativeLayout>
<ViewAnimator
<ViewAnimator
android:id=
"@+id/v_animator_top"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_height=
"60dp"
app:layout_constraintTop_toTopOf=
"parent"
>
app:layout_constraintTop_toTopOf=
"parent"
>
...
@@ -116,5 +109,49 @@
...
@@ -116,5 +109,49 @@
</ViewAnimator>
</ViewAnimator>
<RelativeLayout
android:id=
"@+id/rl"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toTopOf=
"@id/v_animator_bottom"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
>
</RelativeLayout>
<TextView
android:id=
"@+id/tv_pageCount"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"28dp"
android:layout_marginTop=
"28dp"
android:background=
"@drawable/bg_54585b_5"
android:includeFontPadding=
"false"
android:paddingHorizontal=
"2dp"
android:paddingVertical=
"2dp"
android:textColor=
"@color/white"
android:textSize=
"12sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/rl"
tools:text=
"1/3"
/>
<ViewAnimator
android:id=
"@+id/v_animator_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_pager"
android:layout_width=
"match_parent"
android:layout_height=
"88dp"
android:orientation=
"horizontal"
android:paddingHorizontal=
"4dp"
android:paddingTop=
"5dp"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/pdfview"
tools:listitem=
"@layout/item_pdf_pager"
/>
</ViewAnimator>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment