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
94d0aa79
Commit
94d0aa79
authored
Sep 13, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
09ad637e
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
787 additions
and
8 deletions
+787
-8
PdfActivity.kt
...base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
+22
-3
PdfSplitActivity.kt
...pdfviewerscannerwhite/ui/document/pdf/PdfSplitActivity.kt
+0
-1
PdfView.kt
...com/base/pdfviewerscannerwhite/ui/document/pdf/PdfView.kt
+3
-1
DialogView.kt
...java/com/base/pdfviewerscannerwhite/ui/view/DialogView.kt
+116
-2
NumberRangeFilter.kt
...m/base/pdfviewerscannerwhite/ui/view/NumberRangeFilter.kt
+19
-0
KotlinExt.kt
...in/java/com/base/pdfviewerscannerwhite/utils/KotlinExt.kt
+4
-0
SpStringUtils.kt
...ava/com/base/pdfviewerscannerwhite/utils/SpStringUtils.kt
+1
-0
bg_00b8de_10.xml
app/src/main/res/drawable/bg_00b8de_10.xml
+1
-1
dialog_document_detail.xml
app/src/main/res/layout/dialog_document_detail.xml
+254
-0
dialog_page_number.xml
app/src/main/res/layout/dialog_page_number.xml
+77
-0
dialog_pdf_more.xml
app/src/main/res/layout/dialog_pdf_more.xml
+290
-0
jump.png
app/src/main/res/mipmap-xxhdpi/jump.png
+0
-0
print.png
app/src/main/res/mipmap-xxhdpi/print.png
+0
-0
No files found.
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
View file @
94d0aa79
package
com.base.pdfviewerscannerwhite.ui.document.pdf
import
android.annotation.SuppressLint
import
android.content.Intent
import
androidx.activity.addCallback
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.ui.view.DialogView.showPdfMoreDialog
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import
com.base.pdfviewerscannerwhite.utils.PermissionUtils.requestStorePermission
import
com.base.pdfviewerscannerwhite.utils.SpStringUtils
import
com.base.pdfviewerscannerwhite.utils.SpStringUtils.LAST_VIEW_KEY
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import
com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle
import
com.github.barteksc.pdfviewer.scroll.ScrollHandle
import
com.tom_roush.pdfbox.pdmodel.PDDocument
import
java.io.File
...
...
@@ -26,7 +29,7 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
private
lateinit
var
adapter
:
PdfPagerAdapter
var
pafPath
=
""
var
pageNumber
=
0
private
var
pageNumber
=
0
override
fun
initView
()
{
...
...
@@ -35,6 +38,7 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
pafPath
=
intent
.
extras
?.
getString
(
"path"
,
""
)
?:
""
LogEx
.
logDebug
(
TAG
,
"pafPath=$pafPath"
)
SpStringUtils
.
addSpString
(
LAST_VIEW_KEY
,
"${pafPath}_${System.currentTimeMillis()}"
)
initAdapter
()
...
...
@@ -60,6 +64,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
onBackPressedDispatcher
.
onBackPressed
()
}
binding
.
ivMore
.
setOnClickListener
{
showPdfMoreDialog
(
this
,
pageNumber
,
pafPath
)
}
}
...
...
@@ -89,7 +97,7 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
private
fun
loadPdfView
(
file
:
File
,
password
:
String
=
""
)
{
binding
.
pdfview
.
fromFile
(
file
)
.
defaultPage
(
pageNumber
)
.
defaultPage
(
0
)
.
enableAnnotationRendering
(
true
)
.
scrollHandle
(
DefaultScrollHandle
(
this
))
.
onPageChange
{
page
,
pageCount
->
...
...
@@ -109,6 +117,17 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
override
fun
initPdfPageRv
(
items
:
List
<
PdfPageBean
>)
{
adapter
.
submitList
(
items
)
pageNumber
=
items
.
size
}
override
fun
jumpPage
(
pageIndex
:
Int
)
{
binding
.
pdfview
.
jumpTo
(
pageIndex
)
}
override
fun
jumpSplit
()
{
startActivity
(
Intent
(
this
,
PdfSplitActivity
::
class
.
java
).
apply
{
putExtra
(
"path"
,
pafPath
)
})
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfSplitActivity.kt
View file @
94d0aa79
...
...
@@ -7,7 +7,6 @@ import com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfSplitBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
import
java.io.File
class
PdfSplitActivity
:
BaseActivity
<
ActivityPdfSplitBinding
>(),
PdfView
{
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfView.kt
View file @
94d0aa79
...
...
@@ -4,7 +4,9 @@ import com.base.pdfviewerscannerwhite.bean.PdfPageBean
interface
PdfView
{
abstract
fun
initPdfPageRv
(
items
:
List
<
PdfPageBean
>)
fun
initPdfPageRv
(
items
:
List
<
PdfPageBean
>)
fun
jumpPage
(
pageIndex
:
Int
)
=
Unit
fun
jumpSplit
()
=
Unit
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/DialogView.kt
View file @
94d0aa79
...
...
@@ -4,25 +4,61 @@ import android.annotation.SuppressLint
import
android.app.Dialog
import
android.content.Context
import
android.view.LayoutInflater
import
android.view.View
import
android.view.WindowManager
import
androidx.core.widget.addTextChangedListener
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.databinding.DialogDocumentDetailBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogDocumentRenameBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogPageNumberBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogPdfDetailBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogPdfMoreBinding
import
com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter
import
com.base.pdfviewerscannerwhite.ui.document.DocumentPresenter
import
com.base.pdfviewerscannerwhite.ui.document.DocumentView
import
com.base.pdfviewerscannerwhite.ui.document.pdf.Pdf
Presenter
import
com.base.pdfviewerscannerwhite.ui.document.pdf.Pdf
View
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3
import
com.base.pdfviewerscannerwhite.utils.SpStringUtils
import
com.base.pdfviewerscannerwhite.utils.SpStringUtils.LAST_VIEW_KEY
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import
com.google.android.material.bottomsheet.BottomSheetBehavior
import
com.google.android.material.bottomsheet.BottomSheetDialog
import
java.io.File
object
DialogView
{
fun
Context
.
showDocumentDetail
(
path
:
String
)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogDocumentDetailBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setContentView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
false
)
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
val
file
=
File
(
path
)
binding
.
tvName
.
text
=
file
.
name
binding
.
tvPath
.
text
=
file
.
absolutePath
val
lastView
=
SpStringUtils
.
getSpStringList
(
LAST_VIEW_KEY
).
find
{
it
.
contains
(
file
.
absolutePath
)
}
if
(
lastView
!=
null
)
{
val
lastTime
=
lastView
.
split
(
"_"
)[
1
]
binding
.
tvLastView
.
text
=
lastTime
.
toLong
().
toFormatTime3
()
}
binding
.
tvLastChange
.
text
=
file
.
lastModified
().
toFormatTime3
()
binding
.
tvFileSize
.
text
=
file
.
length
().
toFormatSize
()
binding
.
tvBtnOk
.
setOnClickListener
{
dialog
.
dismiss
()
}
}
@SuppressLint
(
"SetTextI18n"
,
"NotifyDataSetChanged"
)
fun
Context
.
showPdfDetailDialog
(
...
...
@@ -38,6 +74,12 @@ object DialogView {
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
val
file
=
File
(
item
.
path
)
binding
.
tvName
.
text
=
file
.
name
binding
.
tvInfo
.
text
=
file
.
lastModified
().
toFormatTime
()
+
" "
+
file
.
length
().
toFormatSize
()
...
...
@@ -69,6 +111,73 @@ object DialogView {
return
dialog
}
fun
Context
.
showPdfMoreDialog
(
pdfView
:
PdfView
,
pageNumber
:
Int
,
pafPath
:
String
,
)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogPdfMoreBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setContentView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
false
)
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
binding
.
llJump
.
setOnClickListener
{
showJumpPageNumberDialog
(
pageNumber
)
{
pageIndex
->
dialog
.
dismiss
()
pdfView
.
jumpPage
(
pageIndex
)
}
}
binding
.
llSplit
.
setOnClickListener
{
dialog
.
dismiss
()
pdfView
.
jumpSplit
()
}
binding
.
llDetail
.
setOnClickListener
{
showDocumentDetail
(
pafPath
)
}
}
private
fun
Context
.
showJumpPageNumberDialog
(
pageNumber
:
Int
,
okAction
:
((
pageIndex
:
Int
)
->
Unit
)?)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogPageNumberBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setContentView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
false
)
val
window
=
dialog
.
window
window
?.
setSoftInputMode
(
WindowManager
.
LayoutParams
.
SOFT_INPUT_ADJUST_RESIZE
)
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
binding
.
edit
.
filters
=
arrayOf
(
NumberRangeFilter
(
1
,
pageNumber
+
1
))
binding
.
edit
.
hint
=
"1 - ${pageNumber + 1}"
binding
.
edit
.
addTextChangedListener
{
binding
.
tvOk
.
isEnabled
=
!
it
.
isNullOrEmpty
()
}
binding
.
edit
.
requestFocus
()
binding
.
tvOk
.
setOnClickListener
{
val
number
=
binding
.
edit
.
text
.
toString
()
if
(
number
.
isEmpty
())
{
toast
(
"number can't be empty!"
)
return
@setOnClickListener
}
dialog
.
dismiss
()
okAction
?.
invoke
(
number
.
toInt
()
-
1
)
}
}
fun
Context
.
showDocumentRenameDialog
(
name
:
String
?
=
null
,
firstDialog
:
Dialog
?
=
null
,
...
...
@@ -84,6 +193,11 @@ object DialogView {
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
binding
.
edit
.
addTextChangedListener
{
binding
.
tvOk
.
isEnabled
=
!
it
.
isNullOrEmpty
()
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/NumberRangeFilter.kt
0 → 100644
View file @
94d0aa79
package
com.base.pdfviewerscannerwhite.ui.view
import
android.text.InputFilter
import
android.text.Spanned
class
NumberRangeFilter
(
private
val
min
:
Int
,
private
val
max
:
Int
)
:
InputFilter
{
override
fun
filter
(
source
:
CharSequence
,
start
:
Int
,
end
:
Int
,
dest
:
Spanned
,
dstart
:
Int
,
dend
:
Int
):
CharSequence
?
{
try
{
val
input
=
dest
.
subSequence
(
0
,
dstart
).
toString
()
+
source
.
toString
()
+
dest
.
subSequence
(
dend
,
dest
.
length
)
val
numericValue
=
input
.
toIntOrNull
()
if
(
numericValue
!=
null
&&
numericValue
in
min
..
max
)
{
return
null
// 允许输入
}
}
catch
(
nfe
:
NumberFormatException
)
{
// 如果输入不是数字,则忽略
}
return
""
// 拒绝输入
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/utils/KotlinExt.kt
View file @
94d0aa79
...
...
@@ -31,6 +31,10 @@ object KotlinExt {
return
SimpleDateFormat
(
"yyyyMMdd_HHmmss"
,
Locale
.
ENGLISH
).
format
(
this
)
}
fun
Long
.
toFormatTime3
():
String
{
return
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
,
Locale
.
ENGLISH
).
format
(
this
)
}
fun
Array
<
String
>.
array2String
():
String
{
val
stringBuilder
=
StringBuilder
()
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/utils/SpStringUtils.kt
View file @
94d0aa79
...
...
@@ -3,6 +3,7 @@ package com.base.pdfviewerscannerwhite.utils
object
SpStringUtils
{
const
val
BOOKMARK_KEY
=
"bookmark_key"
const
val
LAST_VIEW_KEY
=
"last_view_key"
fun
getSpStringList
(
key
:
String
):
List
<
String
>
{
val
sp
=
AppPreferences
.
getInstance
().
getString
(
key
,
""
)
return
if
(
sp
.
equals
(
""
))
{
...
...
app/src/main/res/drawable/bg_00b8de_10.xml
View file @
94d0aa79
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#
7FDCE
E"
/>
<solid
android:color=
"#
00B8D
E"
/>
<corners
android:radius=
"10dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/dialog_document_detail.xml
0 → 100644
View file @
94d0aa79
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/bg_f1f1f1_tlr25"
android:orientation=
"vertical"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl"
android:layout_width=
"match_parent"
android:layout_height=
"65dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:text=
"Detail"
android:textColor=
"#333333"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/cl"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"85dp"
android:background=
"?android:selectableItemBackground"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:includeFontPadding=
"false"
android:text=
"File Name"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:includeFontPadding=
"false"
android:textColor=
"#9A9A9A"
android:textSize=
"14sp"
tools:text=
"DEMO.pdf"
/>
</LinearLayout>
</FrameLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"85dp"
android:background=
"?android:selectableItemBackground"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:includeFontPadding=
"false"
android:text=
"Storage Path"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_path"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:maxLines=
"2"
android:singleLine=
"true"
android:textColor=
"#9A9A9A"
android:textSize=
"14sp"
tools:text=
"/data/user/0/com.pdfviewer.scanner/files/ demo/DEMO.pdf"
/>
</LinearLayout>
</FrameLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"85dp"
android:background=
"?android:selectableItemBackground"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:includeFontPadding=
"false"
android:text=
"Last View"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_last_view"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:maxLines=
"2"
android:singleLine=
"true"
android:textColor=
"#9A9A9A"
android:textSize=
"14sp"
tools:text=
"2024-09-10 13:58:00"
/>
</LinearLayout>
</FrameLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"85dp"
android:background=
"?android:selectableItemBackground"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:includeFontPadding=
"false"
android:text=
"Last Change"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_last_change"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:maxLines=
"2"
android:singleLine=
"true"
android:textColor=
"#9A9A9A"
android:textSize=
"14sp"
tools:text=
"2024-09-10 13:58:00"
/>
</LinearLayout>
</FrameLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"85dp"
android:background=
"?android:selectableItemBackground"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:orientation=
"vertical"
tools:ignore=
"UselessParent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:includeFontPadding=
"false"
android:text=
"File Size"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_file_size"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:maxLines=
"2"
android:singleLine=
"true"
android:textColor=
"#9A9A9A"
android:textSize=
"14sp"
tools:text=
"666.66 KB"
/>
</LinearLayout>
</FrameLayout>
<TextView
android:id=
"@+id/tv_btn_ok"
android:layout_width=
"338dp"
android:layout_height=
"48dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"25dp"
android:background=
"@drawable/bg_00b8de_10"
android:gravity=
"center"
android:text=
"OK"
android:textColor=
"@color/white"
android:textSize=
"18sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/dialog_page_number.xml
0 → 100644
View file @
94d0aa79
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/bg_f3f3f3_tlr25"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/fl"
android:layout_width=
"match_parent"
android:layout_height=
"65dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"16dp"
android:includeFontPadding=
"false"
android:text=
"Page Number"
android:textColor=
"#333333"
android:textSize=
"17sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
</FrameLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/fl"
app:layout_constraintVertical_bias=
"0.0"
tools:layout_editor_absoluteX=
"35dp"
>
<EditText
android:maxLength=
"1"
android:id=
"@+id/edit"
android:layout_width=
"match_parent"
android:layout_height=
"55dp"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"32dp"
android:background=
"@drawable/bg_stoke_bababa_10"
android:ellipsize=
"end"
android:gravity=
"center_vertical"
android:hint=
"1 - 10"
android:inputType=
"number"
android:paddingHorizontal=
"20dp"
android:singleLine=
"true"
android:textColor=
"#333333"
android:textColorHint=
"#C0C0C0"
android:textSize=
"18sp"
tools:ignore=
"Autofill,HardcodedText,LabelFor,TextFields"
/>
<TextView
android:id=
"@+id/tv_ok"
android:layout_width=
"338dp"
android:layout_height=
"48dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginStart=
"14dp"
android:layout_marginTop=
"26dp"
android:layout_marginBottom=
"20dp"
android:background=
"@drawable/bg_selector_btn"
android:enabled=
"false"
android:gravity=
"center"
android:text=
"Ok"
android:textColor=
"@color/white"
android:textSize=
"18sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/dialog_pdf_more.xml
0 → 100644
View file @
94d0aa79
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/bg_f1f1f1_tlr25"
android:orientation=
"vertical"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl"
android:layout_width=
"match_parent"
android:layout_height=
"65dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"15dp"
android:text=
"More"
android:textColor=
"#333333"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:id=
"@+id/iv_bookmark"
android:layout_width=
"24dp"
android:layout_height=
"32dp"
android:layout_marginEnd=
"27dp"
android:src=
"@mipmap/h_soucang_n"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/cl"
>
<LinearLayout
android:id=
"@+id/ll_merge"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/merge"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Merge PDF"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_split"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/split"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Split PDF"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_detail"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/particulars"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Detail"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_jump"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/jump"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Jump to the specified page"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_share"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/share"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Share"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_print"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_marginBottom=
"20dp"
android:background=
"?android:selectableItemBackground"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"13dp"
android:src=
"@mipmap/print"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:text=
"Delete"
android:textColor=
"#333333"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/jianotou"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/mipmap-xxhdpi/jump.png
0 → 100644
View file @
94d0aa79
1.93 KB
app/src/main/res/mipmap-xxhdpi/print.png
0 → 100644
View file @
94d0aa79
2.04 KB
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