Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
Pdf one Reader
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 one Reader
Commits
8d6f9119
Commit
8d6f9119
authored
Nov 14, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...其他文档
parent
3b181bc5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1738 additions
and
26 deletions
+1738
-26
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+13
-0
DocumentBean.kt
app/src/main/java/com/base/pdfoneread/bean/DocumentBean.kt
+0
-7
DocumentActivity.kt
.../java/com/base/pdfoneread/ui/document/DocumentActivity.kt
+20
-0
DocumentAdapter.kt
...n/java/com/base/pdfoneread/ui/document/DocumentAdapter.kt
+6
-2
DocumentViewModel.kt
...java/com/base/pdfoneread/ui/document/DocumentViewModel.kt
+7
-0
ExcelActivity.kt
...c/main/java/com/base/pdfoneread/ui/excel/ExcelActivity.kt
+292
-0
HomeFragment.kt
...src/main/java/com/base/pdfoneread/ui/main/HomeFragment.kt
+54
-3
MainActivity.kt
...src/main/java/com/base/pdfoneread/ui/main/MainActivity.kt
+3
-2
PdfActivity.kt
app/src/main/java/com/base/pdfoneread/ui/pdf/PdfActivity.kt
+23
-8
PdfSelectActivity.kt
...main/java/com/base/pdfoneread/ui/pdf/PdfSelectActivity.kt
+12
-0
PptActivity.kt
app/src/main/java/com/base/pdfoneread/ui/ppt/PptActivity.kt
+181
-0
DocumentDialog.kt
.../main/java/com/base/pdfoneread/ui/views/DocumentDialog.kt
+56
-0
PdfDialog.kt
app/src/main/java/com/base/pdfoneread/ui/views/PdfDialog.kt
+4
-4
WordActivity.kt
...src/main/java/com/base/pdfoneread/ui/word/WordActivity.kt
+348
-0
bg_transparent.xml
app/src/main/res/drawable/bg_transparent.xml
+5
-0
activity_excel.xml
app/src/main/res/layout/activity_excel.xml
+187
-0
activity_ppt.xml
app/src/main/res/layout/activity_ppt.xml
+126
-0
activity_word.xml
app/src/main/res/layout/activity_word.xml
+226
-0
dialog_document_more.xml
app/src/main/res/layout/dialog_document_more.xml
+174
-0
left.png
app/src/main/res/mipmap-xxhdpi/left.png
+0
-0
right.png
app/src/main/res/mipmap-xxhdpi/right.png
+0
-0
dimens.xml
app/src/main/res/values/dimens.xml
+1
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
8d6f9119
...
@@ -91,6 +91,19 @@
...
@@ -91,6 +91,19 @@
android:launchMode=
"singleTop"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".ui.ppt.PptActivity"
android:exported=
"true"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
"com.base.pdfreaderallpdfreader.ui.word.WordActivity"
android:exported=
"true"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<provider
<provider
android:name=
"androidx.core.content.FileProvider"
android:name=
"androidx.core.content.FileProvider"
...
...
app/src/main/java/com/base/pdfoneread/bean/DocumentBean.kt
View file @
8d6f9119
package
com.base.pdfoneread.bean
package
com.base.pdfoneread.bean
import
android.net.Uri
import
android.net.Uri
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_DOC
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_DOCX
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PDF
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PPT
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PPTX
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_XLS
import
com.base.pdfoneread.bean.ConstObject.MIME_TYPE_XLSX
data class
DocumentBean
(
data class
DocumentBean
(
var
path
:
String
=
""
,
var
path
:
String
=
""
,
...
...
app/src/main/java/com/base/pdfoneread/ui/document/DocumentActivity.kt
View file @
8d6f9119
...
@@ -5,6 +5,7 @@ import android.graphics.Color
...
@@ -5,6 +5,7 @@ import android.graphics.Color
import
android.net.Uri
import
android.net.Uri
import
android.view.View
import
android.view.View
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.content.ContentProviderCompat.requireContext
import
androidx.core.view.isVisible
import
androidx.core.view.isVisible
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.ViewModelProvider
...
@@ -22,11 +23,13 @@ import com.base.pdfoneread.ui.pdf.PdfActivity
...
@@ -22,11 +23,13 @@ import com.base.pdfoneread.ui.pdf.PdfActivity
import
com.base.pdfoneread.ui.views.DialogCallBack
import
com.base.pdfoneread.ui.views.DialogCallBack
import
com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentHomeMoreDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentHomeMoreDialog
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import
com.base.pdfoneread.ui.views.PdfDialog.showPdfHomeMoreDialog
import
com.base.pdfoneread.ui.views.PdfDialog.showPdfHomeMoreDialog
import
com.base.pdfoneread.utils.BarUtils
import
com.base.pdfoneread.utils.BarUtils
import
com.base.pdfoneread.utils.IntentShareUtils.shareMutDocuments
import
com.base.pdfoneread.utils.IntentShareUtils.shareMutDocuments
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.PdfBoxUtils.checkPdfEncryption
import
com.base.pdfoneread.utils.PdfBoxUtils.checkPdfEncryption
import
com.base.pdfoneread.utils.updateMediaStore
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.cancel
import
kotlinx.coroutines.cancel
import
kotlinx.coroutines.flow.collectLatest
import
kotlinx.coroutines.flow.collectLatest
...
@@ -52,7 +55,24 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
...
@@ -52,7 +55,24 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
viewModel
=
ViewModelProvider
(
this
)[
DocumentViewModel
::
class
.
java
]
viewModel
=
ViewModelProvider
(
this
)[
DocumentViewModel
::
class
.
java
]
viewModel
.
handleActivityGmsScanResult
=
{
imageUri
,
pdfUri
->
viewModel
.
handleActivityGmsScanResult
=
{
imageUri
,
pdfUri
->
LogEx
.
logDebug
(
TAG
,
"pdfUri=$pdfUri imageUri=$imageUri"
)
val
file
=
File
(
pdfUri
.
toString
().
replace
(
"file://"
,
""
))
if
(
file
.
exists
())
{
showDocumentRenameDialog
(
file
.
name
,
okAction
=
{
val
child
=
if
(
it
.
endsWith
(
".pdf"
))
it
else
"$it.pdf"
val
newFile
=
File
(
getDocumentAppDir
(),
child
)
viewModel
.
copyFile
(
file
,
newFile
)
updateMediaStore
()
},
dismissAction
=
{
})
}
else
{
}
}
}
type
=
intent
.
extras
?.
getString
(
"type"
)
?:
""
type
=
intent
.
extras
?.
getString
(
"type"
)
?:
""
...
...
app/src/main/java/com/base/pdfoneread/ui/document/DocumentAdapter.kt
View file @
8d6f9119
...
@@ -107,8 +107,12 @@ class DocumentAdapter(
...
@@ -107,8 +107,12 @@ class DocumentAdapter(
}
}
2
->
{
//拆分选择
2
->
{
//拆分选择
binding
.
flBookmark
.
visibility
=
View
.
GONE
binding
.
flBookmark
.
visibility
=
View
.
INVISIBLE
binding
.
flMore
.
visibility
=
View
.
INVISIBLE
binding
.
flSelect
.
visibility
=
View
.
INVISIBLE
binding
.
flMore
.
visibility
=
View
.
VISIBLE
binding
.
flMore
.
setOnClickListener
{
moreAction
?.
invoke
(
item
)
}
binding
.
root
.
setOnClickListener
{
binding
.
root
.
setOnClickListener
{
itemClick
?.
invoke
(
item
)
itemClick
?.
invoke
(
item
)
}
}
...
...
app/src/main/java/com/base/pdfoneread/ui/document/DocumentViewModel.kt
View file @
8d6f9119
...
@@ -11,6 +11,7 @@ import androidx.lifecycle.ViewModel
...
@@ -11,6 +11,7 @@ import androidx.lifecycle.ViewModel
import
com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions
import
com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions
import
com.google.mlkit.vision.documentscanner.GmsDocumentScanning
import
com.google.mlkit.vision.documentscanner.GmsDocumentScanning
import
com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult
import
com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult
import
java.io.File
class
DocumentViewModel
:
ViewModel
()
{
class
DocumentViewModel
:
ViewModel
()
{
...
@@ -68,4 +69,10 @@ class DocumentViewModel : ViewModel() {
...
@@ -68,4 +69,10 @@ class DocumentViewModel : ViewModel() {
}
}
}
}
}
}
fun
copyFile
(
file
:
File
,
newFile
:
File
)
{
runCatching
{
file
.
copyTo
(
newFile
,
true
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfoneread/ui/excel/ExcelActivity.kt
0 → 100644
View file @
8d6f9119
This diff is collapsed.
Click to expand it.
app/src/main/java/com/base/pdfoneread/ui/main/HomeFragment.kt
View file @
8d6f9119
...
@@ -6,9 +6,14 @@ import android.view.LayoutInflater
...
@@ -6,9 +6,14 @@ import android.view.LayoutInflater
import
android.view.View
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
androidx.recyclerview.widget.GridLayoutManager
import
androidx.recyclerview.widget.GridLayoutManager
import
com.base.pdfoneread.R
import
com.base.pdfoneread.R
import
com.base.pdfoneread.bean.ConstObject.DO_LOCK_PDF
import
com.base.pdfoneread.bean.ConstObject.DO_MERGE_PDF
import
com.base.pdfoneread.bean.ConstObject.DO_SPLIT_PDF
import
com.base.pdfoneread.bean.ConstObject.DO_UNLOCK_PDF
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_ALL
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_ALL
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_EXCEL
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_EXCEL
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_PDF
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_PDF
...
@@ -32,16 +37,23 @@ import com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_GRID
...
@@ -32,16 +37,23 @@ import com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_GRID
import
com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_LIST
import
com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_LIST
import
com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_TITTLE
import
com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_TITTLE
import
com.base.pdfoneread.ui.document.DocumentActivity
import
com.base.pdfoneread.ui.document.DocumentActivity
import
com.base.pdfoneread.ui.document.DocumentViewModel
import
com.base.pdfoneread.ui.document.GlobalExcelList
import
com.base.pdfoneread.ui.document.GlobalExcelList
import
com.base.pdfoneread.ui.document.GlobalPdfList
import
com.base.pdfoneread.ui.document.GlobalPdfList
import
com.base.pdfoneread.ui.document.GlobalPptList
import
com.base.pdfoneread.ui.document.GlobalPptList
import
com.base.pdfoneread.ui.document.GlobalWordList
import
com.base.pdfoneread.ui.document.GlobalWordList
import
com.base.pdfoneread.ui.document.getAllDocument
import
com.base.pdfoneread.ui.document.getAllDocument
import
com.base.pdfoneread.ui.document.getDocumentAppDir
import
com.base.pdfoneread.ui.document.getGlobalAllList
import
com.base.pdfoneread.ui.document.getGlobalAllList
import
com.base.pdfoneread.ui.pdf.PdfActivity
import
com.base.pdfoneread.ui.pdf.PdfSelectActivity
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.PermissionUtils.checkStorePermission
import
com.base.pdfoneread.utils.PermissionUtils.checkStorePermission
import
com.base.pdfoneread.utils.updateMediaStore
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
java.io.File
import
java.util.concurrent.atomic.AtomicBoolean
import
java.util.concurrent.atomic.AtomicBoolean
...
@@ -50,10 +62,32 @@ class HomeFragment() : Fragment() {
...
@@ -50,10 +62,32 @@ class HomeFragment() : Fragment() {
private
val
TAG
=
"HomeFragment"
private
val
TAG
=
"HomeFragment"
private
lateinit
var
binding
:
FragmentHomeBinding
private
lateinit
var
binding
:
FragmentHomeBinding
private
val
adapter
:
HomeAdapter
=
HomeAdapter
()
private
val
adapter
:
HomeAdapter
=
HomeAdapter
()
private
lateinit
var
viewModel
:
DocumentViewModel
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
LogEx
.
logDebug
(
TAG
,
"onCreate"
)
LogEx
.
logDebug
(
TAG
,
"onCreate"
)
viewModel
=
ViewModelProvider
(
this
)[
DocumentViewModel
::
class
.
java
]
viewModel
.
handleActivityGmsScanResult
=
{
imageUri
,
pdfUri
->
LogEx
.
logDebug
(
TAG
,
"pdfUri=$pdfUri imageUri=$imageUri"
)
val
file
=
File
(
pdfUri
.
toString
().
replace
(
"file://"
,
""
))
if
(
file
.
exists
())
{
requireContext
().
showDocumentRenameDialog
(
file
.
name
,
okAction
=
{
val
child
=
if
(
it
.
endsWith
(
".pdf"
))
it
else
"$it.pdf"
val
newFile
=
File
(
getDocumentAppDir
(),
child
)
viewModel
.
copyFile
(
file
,
newFile
)
requireContext
().
updateMediaStore
()
},
dismissAction
=
{
})
}
else
{
}
}
}
}
override
fun
onCreateView
(
override
fun
onCreateView
(
...
@@ -81,7 +115,7 @@ class HomeFragment() : Fragment() {
...
@@ -81,7 +115,7 @@ class HomeFragment() : Fragment() {
adapter
.
submitList
(
groupList
)
adapter
.
submitList
(
groupList
)
adapter
.
itemClick
=
{
item
:
HomeUIBean
->
adapter
.
itemClick
=
{
item
:
HomeUIBean
->
val
activity
=
requireActivity
()
as
MainActivity
?
when
(
item
.
key
)
{
when
(
item
.
key
)
{
KEY_ALL
->
{
KEY_ALL
->
{
startActivity
(
Intent
(
requireContext
(),
DocumentActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
requireContext
(),
DocumentActivity
::
class
.
java
).
apply
{
...
@@ -113,6 +147,25 @@ class HomeFragment() : Fragment() {
...
@@ -113,6 +147,25 @@ class HomeFragment() : Fragment() {
})
})
}
}
KEY_IMAGE_TO_PDF
,
KEY_SCAN_PDF
,
KEY_IMAGE_PDF
->
{
activity
?.
let
{
viewModel
.
starGmsScan
(
it
)
}
}
KEY_MERGE_PDF
->
{
activity
?.
let
{
PdfSelectActivity
.
jumpSelect
(
it
,
DO_MERGE_PDF
)
}
}
KEY_SPLIT_PDF
->
{
activity
?.
let
{
PdfSelectActivity
.
jumpSelect
(
it
,
DO_SPLIT_PDF
)
}
}
KEY_LOCK_PDF
->
{
activity
?.
let
{
PdfSelectActivity
.
jumpSelect
(
it
,
DO_LOCK_PDF
)
}
}
KEY_UNLOCK_PDF
->
{
activity
?.
let
{
PdfSelectActivity
.
jumpSelect
(
it
,
DO_UNLOCK_PDF
)
}
}
}
}
}
}
...
@@ -131,7 +184,6 @@ class HomeFragment() : Fragment() {
...
@@ -131,7 +184,6 @@ class HomeFragment() : Fragment() {
LogEx
.
logDebug
(
TAG
,
"onDestroy"
)
LogEx
.
logDebug
(
TAG
,
"onDestroy"
)
}
}
private
var
isRefreshing
:
AtomicBoolean
=
AtomicBoolean
(
false
)
private
var
isRefreshing
:
AtomicBoolean
=
AtomicBoolean
(
false
)
private
fun
refreshData
(
where
:
String
=
""
)
{
private
fun
refreshData
(
where
:
String
=
""
)
{
if
(
isRefreshing
.
get
())
return
if
(
isRefreshing
.
get
())
return
...
@@ -174,7 +226,6 @@ class HomeFragment() : Fragment() {
...
@@ -174,7 +226,6 @@ class HomeFragment() : Fragment() {
}
}
}
}
fun
changeUIByMain
()
{
fun
changeUIByMain
()
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?:
return
activity
?:
return
...
...
app/src/main/java/com/base/pdfoneread/ui/main/MainActivity.kt
View file @
8d6f9119
...
@@ -42,7 +42,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
...
@@ -42,7 +42,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
BarUtils
.
setStatusBarColor
(
this
,
Color
.
WHITE
)
BarUtils
.
setStatusBarColor
(
this
,
Color
.
WHITE
)
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
val
navHostFragment
=
val
navHostFragment
=
supportFragmentManager
.
findFragmentById
(
R
.
id
.
nav_host_container
)
as
NavHostFragment
supportFragmentManager
.
findFragmentById
(
R
.
id
.
nav_host_container
)
as
NavHostFragment
navController
=
navHostFragment
.
navController
navController
=
navHostFragment
.
navController
...
@@ -88,11 +87,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
...
@@ -88,11 +87,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding
.
flSearch
.
setOnClickListener
{
binding
.
flSearch
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
SearchActivity
::
class
.
java
))
startActivity
(
Intent
(
this
,
SearchActivity
::
class
.
java
))
}
}
handleNav
()
handleNav
()
intent
.
extras
?.
clear
()
intent
.
extras
?.
clear
()
}
}
private
fun
handleNav
()
{
private
fun
handleNav
()
{
navWhere
=
intent
.
extras
?.
getString
(
"navWhere"
)
?:
NAV_HOME
navWhere
=
intent
.
extras
?.
getString
(
"navWhere"
)
?:
NAV_HOME
when
(
navWhere
)
{
when
(
navWhere
)
{
...
@@ -137,6 +136,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
...
@@ -137,6 +136,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
disSelectTab
()
disSelectTab
()
binding
.
ivHome
.
isSelected
=
true
binding
.
ivHome
.
isSelected
=
true
binding
.
tvHome
.
isSelected
=
true
binding
.
tvHome
.
isSelected
=
true
binding
.
flRvMode
.
visibility
=
View
.
VISIBLE
binding
.
flSearch
.
visibility
=
View
.
VISIBLE
val
appName
=
resources
.
getString
(
R
.
string
.
app_name
)
val
appName
=
resources
.
getString
(
R
.
string
.
app_name
)
binding
.
tvTittle
.
text
=
colorSpanner
(
appName
,
Color
.
parseColor
(
"#FD1010"
),
0
,
3
)
binding
.
tvTittle
.
text
=
colorSpanner
(
appName
,
Color
.
parseColor
(
"#FD1010"
),
0
,
3
)
...
...
app/src/main/java/com/base/pdfoneread/ui/pdf/PdfActivity.kt
View file @
8d6f9119
...
@@ -32,12 +32,16 @@ import com.base.pdfoneread.ads.AdmobHelper
...
@@ -32,12 +32,16 @@ import com.base.pdfoneread.ads.AdmobHelper
import
com.base.pdfoneread.ads.AdmobHelper.isShowCloseDocument
import
com.base.pdfoneread.ads.AdmobHelper.isShowCloseDocument
import
com.base.pdfoneread.ads.admob.AdmobInterstitialUtils
import
com.base.pdfoneread.ads.admob.AdmobInterstitialUtils
import
com.base.pdfoneread.ads.admob.AdmobNativeUtils
import
com.base.pdfoneread.ads.admob.AdmobNativeUtils
import
com.base.pdfoneread.bean.ConstObject
import
com.base.pdfoneread.bean.ConstObject.DO_SAVE_PDF
import
com.base.pdfoneread.bean.ConstObject.DO_SAVE_PDF
import
com.base.pdfoneread.bean.ConstObject.haveGuideGesture
import
com.base.pdfoneread.bean.ConstObject.haveGuideGesture
import
com.base.pdfoneread.bean.DocumentBean
import
com.base.pdfoneread.bean.DocumentBean
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_EXCEL
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_PPT
import
com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
import
com.base.pdfoneread.databinding.ActivityPdfBinding
import
com.base.pdfoneread.databinding.ActivityPdfBinding
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.ui.excel.ExcelActivity
import
com.base.pdfoneread.ui.ppt.PptActivity
import
com.base.pdfoneread.ui.views.PdfDialog.showPdfMoreDialog
import
com.base.pdfoneread.ui.views.PdfDialog.showPdfMoreDialog
import
com.base.pdfoneread.ui.views.PwdDialog.showPdfPwdDialog
import
com.base.pdfoneread.ui.views.PwdDialog.showPdfPwdDialog
import
com.base.pdfoneread.utils.KeyBoardUtils.hideKeyboard
import
com.base.pdfoneread.utils.KeyBoardUtils.hideKeyboard
...
@@ -46,6 +50,7 @@ import com.base.pdfoneread.utils.LogEx
...
@@ -46,6 +50,7 @@ import com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.SpStringUtils
import
com.base.pdfoneread.utils.SpStringUtils
import
com.base.pdfoneread.utils.SpStringUtils.LAST_VIEW_KEY
import
com.base.pdfoneread.utils.SpStringUtils.LAST_VIEW_KEY
import
com.base.pdfoneread.utils.ToastUtils.toast
import
com.base.pdfoneread.utils.ToastUtils.toast
import
com.base.pdfreaderallpdfreader.ui.word.WordActivity
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
...
@@ -654,6 +659,23 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
...
@@ -654,6 +659,23 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
}
}
}
}
fun
Activity
.
jumpOtherDocument
(
item
:
DocumentBean
)
{
if
(
item
.
type
==
TYPE_WORD
)
{
WordActivity
.
wordDocumentBean
=
item
WordActivity
.
launchDocViewer
(
this
,
3
,
item
.
path
,
-
1
,
100
)
}
if
(
item
.
type
==
TYPE_EXCEL
)
{
ExcelActivity
.
excelDocumentBean
=
item
ExcelActivity
.
launchDocViewer
(
this
,
3
,
item
.
path
,
-
1
,
100
)
}
if
(
item
.
type
==
TYPE_PPT
)
{
PptActivity
.
pptDocumentBean
=
item
PptActivity
.
launchDocViewer
(
this
,
3
,
item
.
path
,
-
1
,
100
)
}
}
fun
jumpSplit
(
activity
:
Activity
,
path
:
String
,
uri
:
String
?
=
null
,
pwd
:
String
?
=
null
)
{
fun
jumpSplit
(
activity
:
Activity
,
path
:
String
,
uri
:
String
?
=
null
,
pwd
:
String
?
=
null
)
{
activity
.
startActivity
(
Intent
(
activity
,
PdfSplitActivity
::
class
.
java
).
apply
{
activity
.
startActivity
(
Intent
(
activity
,
PdfSplitActivity
::
class
.
java
).
apply
{
putExtra
(
"path"
,
path
)
putExtra
(
"path"
,
path
)
...
@@ -663,13 +685,6 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
...
@@ -663,13 +685,6 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
}
}
fun
jumpMerge
(
activity
:
Activity
)
{
activity
.
startActivity
(
Intent
(
activity
,
PdfSelectActivity
::
class
.
java
).
apply
{
putExtra
(
"doWhat"
,
ConstObject
.
DO_MERGE_PDF
)
})
}
}
}
...
...
app/src/main/java/com/base/pdfoneread/ui/pdf/PdfSelectActivity.kt
View file @
8d6f9119
package
com.base.pdfoneread.ui.pdf
package
com.base.pdfoneread.ui.pdf
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.content.Intent
import
android.content.Intent
import
android.graphics.Color
import
android.graphics.Color
import
android.view.View
import
android.view.View
...
@@ -94,6 +95,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
...
@@ -94,6 +95,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
}
}
private
fun
getPdfData
(
uiType
:
Int
)
{
private
fun
getPdfData
(
uiType
:
Int
)
{
LogEx
.
logDebug
(
TAG
,
"uiType=$uiType"
)
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
list
=
getPdfDocument
(
this
@PdfSelectActivity
)
val
list
=
getPdfDocument
(
this
@PdfSelectActivity
)
list
.
forEach
{
it
.
uiType
=
uiType
}
list
.
forEach
{
it
.
uiType
=
uiType
}
...
@@ -183,6 +185,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
...
@@ -183,6 +185,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
})
})
}
}
}
}
adapter
.
itemClick
adapter
.
selectAction
=
{
adapter
.
selectAction
=
{
LogEx
.
logDebug
(
TAG
,
"selectAction $it"
)
LogEx
.
logDebug
(
TAG
,
"selectAction $it"
)
if
(
it
==
0
)
{
if
(
it
==
0
)
{
...
@@ -197,5 +200,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
...
@@ -197,5 +200,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
binding
.
rv
.
adapter
=
adapter
binding
.
rv
.
adapter
=
adapter
}
}
companion
object
{
fun
jumpSelect
(
activity
:
Activity
,
doWhat
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
PdfSelectActivity
::
class
.
java
).
apply
{
putExtra
(
"doWhat"
,
doWhat
)
})
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfoneread/ui/ppt/PptActivity.kt
0 → 100644
View file @
8d6f9119
package
com.base.pdfoneread.ui.ppt
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.content.Intent
import
android.content.pm.ActivityInfo
import
android.view.View
import
android.view.animation.Animation
import
android.view.animation.TranslateAnimation
import
androidx.activity.addCallback
import
androidx.core.view.isVisible
import
com.base.pdfoneread.R
import
com.base.pdfoneread.ads.AdmobHelper
import
com.base.pdfoneread.ads.admob.AdmobInterstitialUtils
import
com.base.pdfoneread.ads.admob.AdmobNativeUtils
import
com.base.pdfoneread.bean.DocumentBean
import
com.base.pdfoneread.databinding.ActivityPptBinding
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentMore
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.SpStringUtils
import
com.cherry.lib.doc.bean.DocEngine
import
com.cherry.lib.doc.office.pg.control.PGControl
import
com.cherry.lib.doc.util.Constant
class
PptActivity
:
BaseActivity
<
ActivityPptBinding
>()
{
override
val
binding
:
ActivityPptBinding
by
lazy
{
ActivityPptBinding
.
inflate
(
layoutInflater
)
}
companion
object
{
var
pptDocumentBean
:
DocumentBean
=
DocumentBean
()
fun
launchDocViewer
(
activity
:
Activity
,
docSourceType
:
Int
,
path
:
String
?,
fileType
:
Int
?
=
null
,
engine
:
Int
?
=
null
)
{
val
intent
=
Intent
(
activity
,
PptActivity
::
class
.
java
)
intent
.
putExtra
(
Constant
.
INTENT_SOURCE_KEY
,
docSourceType
)
intent
.
putExtra
(
Constant
.
INTENT_DATA_KEY
,
path
)
intent
.
putExtra
(
Constant
.
INTENT_TYPE_KEY
,
fileType
)
intent
.
putExtra
(
Constant
.
INTENT_ENGINE_KEY
,
engine
)
activity
.
startActivity
(
intent
)
}
}
override
fun
onResume
()
{
super
.
onResume
()
// updateAppLanguage(MyApplication.pptLanguage) {
// MyApplication.pptLanguage = it
// }
}
private
var
totalPageNumber
=
0
@SuppressLint
(
"SetTextI18n"
)
override
fun
initView
()
{
initSpData
(
intent
)
binding
.
mDocView
.
getPageNumberAction
=
{
current
,
total
->
if
(!
binding
.
tvPageCount
.
isVisible
)
{
binding
.
tvPageCount
.
isVisible
=
true
}
totalPageNumber
=
total
binding
.
tvPageCount
.
text
=
"$current/$total"
}
binding
.
mDocView
.
singleTapAction
=
{
LogEx
.
logDebug
(
TAG
,
"actionDownCallBack"
)
if
(
isShowTopLayout
)
{
LogEx
.
logDebug
(
TAG
,
"hide"
)
hideTopLayout
()
}
else
{
showTopLayout
()
LogEx
.
logDebug
(
TAG
,
"show"
)
}
}
AdmobNativeUtils
.
showNativeAd
(
this
,
binding
.
flAd
,
R
.
layout
.
layout_admob_document_in
)
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
binding
.
mDocView
.
onDestroy
()
AdmobNativeUtils
.
onDestroy
()
}
override
fun
initListener
()
{
super
.
initListener
()
onBackPressedDispatcher
.
addCallback
{
if
(
AdmobHelper
.
isShowCloseDocumentInter
())
{
AdmobInterstitialUtils
.
showInterstitialAd
(
this
@PptActivity
)
{
if
(
it
)
{
AdmobHelper
.
lastCloseDocumentShowAd
=
System
.
currentTimeMillis
()
}
binding
.
root
.
postDelayed
({
finishToMain
()
},
500
)
}
}
else
{
binding
.
root
.
postDelayed
({
finishToMain
()
},
500
)
}
}
binding
.
flFanhui
.
setOnClickListener
{
onBackPressedDispatcher
.
onBackPressed
()
}
binding
.
ivXuanzhuan
.
setOnClickListener
{
switchOrientation
()
}
binding
.
ivMore
.
setOnClickListener
{
showDocumentMore
(
pptDocumentBean
,
totalPageNumber
-
1
)
{
pageIndex
->
((
binding
.
mDocView
.
iOffice
?.
control
?.
appControl
as
PGControl
)
.
pgView
.
pgPrintMode
.
listView
.
showPDFPageForIndex
(
pageIndex
))
}
}
}
private
fun
switchOrientation
()
{
requestedOrientation
=
if
(
requestedOrientation
==
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
)
{
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
}
else
{
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
}
}
private
var
docSourceType
=
0
private
var
fileType
=
-
1
private
var
engine
:
Int
=
DocEngine
.
INTERNAL
.
value
private
var
pathOrUri
:
String
?
=
null
// 文件地址
private
fun
initSpData
(
intent
:
Intent
?)
{
pathOrUri
=
intent
?.
getStringExtra
(
Constant
.
INTENT_DATA_KEY
)
docSourceType
=
intent
?.
getIntExtra
(
Constant
.
INTENT_SOURCE_KEY
,
0
)
?:
0
fileType
=
intent
?.
getIntExtra
(
Constant
.
INTENT_TYPE_KEY
,
-
1
)
?:
-
1
engine
=
intent
?.
getIntExtra
(
Constant
.
INTENT_ENGINE_KEY
,
DocEngine
.
INTERNAL
.
value
)
?:
DocEngine
.
INTERNAL
.
value
binding
.
mDocView
.
openDoc
(
this
,
pathOrUri
,
docSourceType
,
fileType
,
false
)
LogEx
.
logDebug
(
TAG
,
"initData-docUrl = $pathOrUri"
)
LogEx
.
logDebug
(
TAG
,
"initData-docSourceType = $docSourceType"
)
LogEx
.
logDebug
(
TAG
,
"initData-fileType = $fileType"
)
SpStringUtils
.
addSpString
(
SpStringUtils
.
LAST_VIEW_KEY
,
(
pathOrUri
?:
""
)
+
"_/_"
+
System
.
currentTimeMillis
())
}
private
fun
showTopLayout
()
{
if
(!
isShowTopLayout
)
{
isShowTopLayout
=
true
val
topAnim
:
Animation
=
TranslateAnimation
(
0f
,
0f
,
-
binding
.
vAnimatorTop
.
height
.
toFloat
(),
0f
)
topAnim
.
setDuration
(
200
)
topAnim
.
setAnimationListener
(
object
:
Animation
.
AnimationListener
{
override
fun
onAnimationStart
(
animation
:
Animation
)
{
binding
.
vAnimatorTop
.
visibility
=
View
.
VISIBLE
}
override
fun
onAnimationRepeat
(
animation
:
Animation
)
{}
override
fun
onAnimationEnd
(
animation
:
Animation
)
{
}
})
binding
.
vAnimatorTop
.
startAnimation
(
topAnim
)
}
}
private
var
isShowTopLayout
=
true
private
fun
hideTopLayout
()
{
if
(
isShowTopLayout
)
{
isShowTopLayout
=
false
val
topAnim
:
Animation
=
TranslateAnimation
(
0f
,
0f
,
0f
,
-
binding
.
vAnimatorTop
.
height
.
toFloat
())
topAnim
.
setDuration
(
200
)
topAnim
.
setAnimationListener
(
object
:
Animation
.
AnimationListener
{
override
fun
onAnimationStart
(
animation
:
Animation
)
{}
override
fun
onAnimationRepeat
(
animation
:
Animation
)
{}
override
fun
onAnimationEnd
(
animation
:
Animation
)
{
binding
.
vAnimatorTop
.
visibility
=
View
.
GONE
}
})
binding
.
vAnimatorTop
.
startAnimation
(
topAnim
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfoneread/ui/views/DocumentDialog.kt
View file @
8d6f9119
package
com.base.pdfoneread.ui.views
package
com.base.pdfoneread.ui.views
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.app.AlertDialog
import
android.app.AlertDialog
import
android.content.Context
import
android.content.Context
import
android.view.Gravity
import
android.view.Gravity
...
@@ -14,7 +15,9 @@ import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
...
@@ -14,7 +15,9 @@ import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
import
com.base.pdfoneread.databinding.DialogDeleteBinding
import
com.base.pdfoneread.databinding.DialogDeleteBinding
import
com.base.pdfoneread.databinding.DialogDocumentDetailBinding
import
com.base.pdfoneread.databinding.DialogDocumentDetailBinding
import
com.base.pdfoneread.databinding.DialogDocumentHomeMoreBinding
import
com.base.pdfoneread.databinding.DialogDocumentHomeMoreBinding
import
com.base.pdfoneread.databinding.DialogDocumentMoreBinding
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import
com.base.pdfoneread.ui.views.PdfDialog.showJumpPageNumberDialog
import
com.base.pdfoneread.utils.IntentShareUtils.documentShare
import
com.base.pdfoneread.utils.IntentShareUtils.documentShare
import
com.base.pdfoneread.utils.KotlinExt.toFormatSize
import
com.base.pdfoneread.utils.KotlinExt.toFormatSize
import
com.base.pdfoneread.utils.KotlinExt.toFormatTime4
import
com.base.pdfoneread.utils.KotlinExt.toFormatTime4
...
@@ -86,6 +89,59 @@ object DocumentDialog {
...
@@ -86,6 +89,59 @@ object DocumentDialog {
return
dialog
return
dialog
}
}
fun
Activity
.
showDocumentMore
(
documentBean
:
DocumentBean
,
pageNumber
:
Int
=
0
,
jumpAction
:
((
pageIndex
:
Int
)
->
Unit
)?
=
null
)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogDocumentMoreBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setContentView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
true
)
dialog
.
show
()
val
parentView
=
binding
.
root
.
parent
as
View
val
behavior
=
BottomSheetBehavior
.
from
(
parentView
)
//展开
behavior
.
state
=
BottomSheetBehavior
.
STATE_EXPANDED
if
(
documentBean
.
type
==
TYPE_EXCEL
)
{
binding
.
llJump
.
visibility
=
View
.
GONE
}
if
(
documentBean
.
isBookmarked
)
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
r_star_s
)
}
else
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
star
)
}
binding
.
ivBookmark
.
setOnClickListener
{
binding
.
ivBookmark
.
isSelected
=
!
binding
.
ivBookmark
.
isSelected
if
(
binding
.
ivBookmark
.
isSelected
)
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
r_star_s
)
SpStringUtils
.
addSpString
(
SpStringUtils
.
BOOKMARK_KEY
,
documentBean
.
path
)
}
else
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
star
)
SpStringUtils
.
deleteSpString
(
SpStringUtils
.
BOOKMARK_KEY
,
documentBean
.
path
)
}
}
binding
.
llDetail
.
setOnClickListener
{
showDocumentDetail
(
documentBean
.
path
)
}
binding
.
llShare
.
setOnClickListener
{
documentShare
(
documentBean
)
}
binding
.
llJump
.
setOnClickListener
{
showJumpPageNumberDialog
(
pageNumber
)
{
pageIndex
->
dialog
.
dismiss
()
jumpAction
?.
invoke
(
pageIndex
)
}
}
}
fun
Context
.
showDocumentDetail
(
path
:
String
)
{
fun
Context
.
showDocumentDetail
(
path
:
String
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
...
...
app/src/main/java/com/base/pdfoneread/ui/views/PdfDialog.kt
View file @
8d6f9119
...
@@ -10,15 +10,16 @@ import android.view.WindowManager
...
@@ -10,15 +10,16 @@ import android.view.WindowManager
import
androidx.core.content.FileProvider
import
androidx.core.content.FileProvider
import
androidx.core.widget.addTextChangedListener
import
androidx.core.widget.addTextChangedListener
import
com.base.pdfoneread.R
import
com.base.pdfoneread.R
import
com.base.pdfoneread.bean.ConstObject.DO_MERGE_PDF
import
com.base.pdfoneread.bean.DocumentBean
import
com.base.pdfoneread.bean.DocumentBean
import
com.base.pdfoneread.databinding.DialogPageNumberBinding
import
com.base.pdfoneread.databinding.DialogPageNumberBinding
import
com.base.pdfoneread.databinding.DialogPdfHomeMoreBinding
import
com.base.pdfoneread.databinding.DialogPdfHomeMoreBinding
import
com.base.pdfoneread.databinding.DialogPdfMoreBinding
import
com.base.pdfoneread.databinding.DialogPdfMoreBinding
import
com.base.pdfoneread.ui.document.saveBookmarkChange
import
com.base.pdfoneread.ui.document.saveBookmarkChange
import
com.base.pdfoneread.ui.pdf.PdfActivity
import
com.base.pdfoneread.ui.pdf.PdfActivity
import
com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpMerge
import
com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpPdfActivity
import
com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpPdfActivity
import
com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpSplit
import
com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpSplit
import
com.base.pdfoneread.ui.pdf.PdfSelectActivity
import
com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentDetail
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentDetail
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import
com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
...
@@ -85,7 +86,7 @@ object PdfDialog {
...
@@ -85,7 +86,7 @@ object PdfDialog {
}
}
binding
.
llMerge
.
setOnClickListener
{
binding
.
llMerge
.
setOnClickListener
{
dialog
.
dismiss
()
dialog
.
dismiss
()
Pdf
Activity
.
jumpMerge
(
this
)
Pdf
SelectActivity
.
jumpSelect
(
this
,
DO_MERGE_PDF
)
}
}
binding
.
llDelete
.
setOnClickListener
{
binding
.
llDelete
.
setOnClickListener
{
dialog
.
dismiss
()
dialog
.
dismiss
()
...
@@ -154,8 +155,7 @@ object PdfDialog {
...
@@ -154,8 +155,7 @@ object PdfDialog {
}
}
binding
.
llMerge
.
setOnClickListener
{
binding
.
llMerge
.
setOnClickListener
{
dialog
.
dismiss
()
dialog
.
dismiss
()
jumpMerge
(
pdfActivity
)
PdfSelectActivity
.
jumpSelect
(
pdfActivity
,
DO_MERGE_PDF
)
}
}
binding
.
llSplit
.
setOnClickListener
{
binding
.
llSplit
.
setOnClickListener
{
dialog
.
dismiss
()
dialog
.
dismiss
()
...
...
app/src/main/java/com/base/pdfoneread/ui/word/WordActivity.kt
0 → 100644
View file @
8d6f9119
This diff is collapsed.
Click to expand it.
app/src/main/res/drawable/bg_transparent.xml
0 → 100644
View file @
8d6f9119
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@color/transparent"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_excel.xml
0 → 100644
View file @
8d6f9119
<?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:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ViewAnimator
android:id=
"@+id/v_animator_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"@color/white"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<FrameLayout
android:id=
"@+id/fl_fanhui"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/tv_name"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:padding=
"15dp"
android:src=
"@mipmap/pdf_left"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:singleLine=
"true"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf=
"@id/fl_fanhui"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
tools:text=
"DEMO.xlsx"
/>
<ImageView
android:id=
"@+id/iv_xuanzhuan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/hengping"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_search"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/sousuo"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_more"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_more"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<EditText
android:id=
"@+id/edit_search"
android:layout_width=
"0dp"
android:layout_height=
"40dp"
android:layout_marginStart=
"5dp"
android:layout_marginEnd=
"20dp"
android:background=
"@drawable/bg_f8f9fe_10"
android:hint=
"input..."
android:paddingHorizontal=
"18dp"
android:singleLine=
"true"
android:textColor=
"@color/black"
android:textColorHint=
"#B8B9BD"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_search"
app:layout_constraintStart_toEndOf=
"@id/fl_fanhui"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"Autofill,HardcodedText,TextFields"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<com.cherry.lib.doc.widget.DocView
android:id=
"@+id/mDocView"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:dv_moving_orientation=
"vertical"
app:dv_show_page_num=
"false"
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
/>
<ViewAnimator
android:id=
"@+id/v_animator_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_50"
android:layout_alignParentBottom=
"true"
android:background=
"@color/white"
android:visibility=
"gone"
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:ignore=
"UselessParent"
>
<FrameLayout
android:id=
"@+id/fl_pre"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|start"
android:layout_marginStart=
"20dp"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/left"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<FrameLayout
android:id=
"@+id/fl_next"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"20dp"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/right"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</FrameLayout>
</ViewAnimator>
<FrameLayout
android:id=
"@+id/fl_ad"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/zhanweitu2"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/activity_ppt.xml
0 → 100644
View file @
8d6f9119
<?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:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ViewAnimator
android:id=
"@+id/v_animator_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"@color/white"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<FrameLayout
android:id=
"@+id/fl_fanhui"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/tv_name"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:padding=
"15dp"
android:src=
"@mipmap/pdf_left"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:singleLine=
"true"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf=
"@id/fl_fanhui"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
tools:text=
"DEMO.ppt"
/>
<ImageView
android:id=
"@+id/iv_xuanzhuan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/hengping"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_more"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_more"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<com.cherry.lib.doc.widget.DocView
android:id=
"@+id/mDocView"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:dv_engine=
"internal"
app:dv_moving_orientation=
"vertical"
app:dv_page_pb_color=
"@color/yellow"
app:dv_page_pb_height=
"2dp"
app:dv_show_page_num=
"true"
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
/>
<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"
android:visibility=
"gone"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
tools:text=
"1/3"
/>
<FrameLayout
android:id=
"@+id/fl_ad"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/zhanweitu2"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/activity_word.xml
0 → 100644
View file @
8d6f9119
<?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:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ViewAnimator
android:id=
"@+id/v_animator_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:background=
"@color/white"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl_top"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<FrameLayout
android:id=
"@+id/fl_fanhui"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/tv_name"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:padding=
"15dp"
android:src=
"@mipmap/pdf_left"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:singleLine=
"true"
android:textColor=
"@color/black"
android:textSize=
"19sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf=
"@id/fl_fanhui"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
tools:text=
"DEMO.xlsx"
/>
<ImageView
android:id=
"@+id/iv_xuanzhuan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/hengping"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_search"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/sousuo"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_more"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<ImageView
android:id=
"@+id/iv_more"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"16dp"
android:src=
"@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<EditText
android:id=
"@+id/edit_search"
android:layout_width=
"0dp"
android:layout_height=
"40dp"
android:layout_marginStart=
"5dp"
android:layout_marginEnd=
"20dp"
android:background=
"@drawable/bg_f8f9fe_10"
android:hint=
"input..."
android:paddingHorizontal=
"18dp"
android:singleLine=
"true"
android:textColor=
"@color/black"
android:textColorHint=
"#B8B9BD"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_search"
app:layout_constraintStart_toEndOf=
"@id/fl_fanhui"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"Autofill,HardcodedText,TextFields"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
>
<com.cherry.lib.doc.widget.DocView
android:id=
"@+id/mDocView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:dv_engine=
"internal"
app:dv_moving_orientation=
"vertical"
app:dv_page_pb_color=
"@color/yellow"
app:dv_page_pb_height=
"2dp"
app:dv_show_page_num=
"true"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
/>
<com.base.pdfoneread.ui.views.VerticalSeekBar
android:id=
"@+id/vertical_seekbar"
android:layout_width=
"30dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"end"
android:layout_marginEnd=
"10dp"
android:background=
"@color/transparent"
app:vsb_bar_background=
"@color/transparent"
app:vsb_bar_background_gradient_end=
"@color/transparent"
app:vsb_bar_background_gradient_start=
"@color/transparent"
app:vsb_bar_progress=
"@drawable/bg_transparent"
app:vsb_show_thumb=
"true"
/>
</FrameLayout>
<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"
android:visibility=
"gone"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/v_animator_top"
tools:text=
"1/3"
/>
<ViewAnimator
android:id=
"@+id/v_animator_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_50"
android:layout_alignParentBottom=
"true"
android:background=
"@color/white"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"@id/fl_ad"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:ignore=
"UselessParent"
>
<FrameLayout
android:id=
"@+id/fl_pre"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|start"
android:layout_marginStart=
"20dp"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/left"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<FrameLayout
android:id=
"@+id/fl_next"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"20dp"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/right"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</FrameLayout>
</ViewAnimator>
<FrameLayout
android:id=
"@+id/fl_ad"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/zhanweitu2"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/dialog_document_more.xml
0 → 100644
View file @
8d6f9119
<?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_ffffff_tlr15"
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=
"@string/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/r_star_s"
android:visibility=
"gone"
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_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/pdf_Page"
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=
"@string/page_by_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:visibility=
"gone"
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/pdf_info"
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=
"@string/info"
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:visibility=
"gone"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_share"
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/pdf_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=
"@string/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:visibility=
"gone"
tools:ignore=
"ContentDescription"
/>
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/mipmap-xxhdpi/left.png
0 → 100644
View file @
8d6f9119
1.35 KB
app/src/main/res/mipmap-xxhdpi/right.png
0 → 100644
View file @
8d6f9119
1.36 KB
app/src/main/res/values/dimens.xml
View file @
8d6f9119
...
@@ -3,4 +3,5 @@
...
@@ -3,4 +3,5 @@
<dimen
name=
"dp_200"
>
200dp
</dimen>
<dimen
name=
"dp_200"
>
200dp
</dimen>
<dimen
name=
"dp_146"
>
146dp
</dimen>
<dimen
name=
"dp_146"
>
146dp
</dimen>
<dimen
name=
"dp_345"
>
345dp
</dimen>
<dimen
name=
"dp_345"
>
345dp
</dimen>
<dimen
name=
"dp_50"
>
50dp
</dimen>
</resources>
</resources>
\ 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