This commit is contained in:
ocean 2025-11-12 18:33:06 +08:00
parent 854c0debc1
commit 40db31489d
29 changed files with 1593 additions and 1228 deletions

View File

@ -74,8 +74,8 @@ dependencies {
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
// implementation(libs.immersionbar)
// implementation(libs.immersionbar.ktx)
implementation(libs.immersionbar)
implementation(libs.immersionbar.ktx)
implementation(libs.androidx.room.runtime)
ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room.ktx)

View File

@ -34,9 +34,9 @@
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/app_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/app_logo"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/Theme.PDFReaderPro">
<meta-data
@ -137,6 +137,12 @@
android:label="@string/app_name"
android:screenOrientation="portrait" />
<activity
android:name=".ui.act.PictureSelectorActivity"
android:exported="true"
android:label="@string/app_name"
android:screenOrientation="portrait" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"

View File

@ -2,19 +2,20 @@ package com.all.pdfreader.pro.app.ui.act
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowCompat
import com.all.pdfreader.pro.app.room.repository.PdfRepository
import com.all.pdfreader.pro.app.sp.AppStore
import com.all.pdfreader.pro.app.util.ToastUtils
import com.gyf.immersionbar.ImmersionBar
import com.gyf.immersionbar.OnInsetsChangeListener
abstract class BaseActivity : AppCompatActivity() {
protected open val rootBottomView: View? = null
protected abstract val TAG: String
protected val appStore by lazy { AppStore(this) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, true)
Log.d("ocean", "🚀 ${javaClass.simpleName} onCreate")
}
@ -67,4 +68,18 @@ abstract class BaseActivity : AppCompatActivity() {
protected fun getRepository(): PdfRepository {
return PdfRepository.getInstance()
}
protected fun setupImmersionBar(block: ImmersionBar.() -> Unit) {
val bar = ImmersionBar.with(this)
// 通用逻辑:监听 insets 改变
bar.setOnInsetsChangeListener(object : OnInsetsChangeListener {
override fun onInsetsChanged(top: Int, bottom: Int, left: Int, right: Int) {
rootBottomView?.setPadding(left, 0, right, bottom)
}
})
bar.block()
bar.init()
}
}

View File

@ -10,7 +10,8 @@ import com.all.pdfreader.pro.app.databinding.ActivityFaqBinding
class FAQActivity : BaseActivity() {
override val TAG: String = "FAQActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
private lateinit var binding: ActivityFaqBinding
private var faqAboutApp1IsOpen = true
private var faqAboutApp2IsOpen = false
@ -21,6 +22,11 @@ class FAQActivity : BaseActivity() {
super.onCreate(savedInstanceState)
binding = ActivityFaqBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.white)
}
initView()
}

View File

@ -40,7 +40,8 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
RecentlyFrag.OnItemLongClickListener, FavoriteFrag.OnItemLongClickListener {
override val TAG: String = "MainActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
private lateinit var binding: ActivityMainBinding
private val pdfRepository = getRepository()
private lateinit var pdfScanner: PdfScanner
@ -60,6 +61,11 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback
setContentView(binding.root)
setupDoubleBackExit()
initObserve()
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(false)
navigationBarColor(R.color.white)
}
setupFragments()
setupNavigation()
pdfScanner = PdfScanner(this, pdfRepository)

View File

@ -6,6 +6,7 @@ import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.activity.result.contract.ActivityResultContract
import androidx.lifecycle.lifecycleScope
@ -25,6 +26,8 @@ import java.io.File
class MergePdfActivity : BaseActivity() {
override val TAG: String = "MergePdfActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
private lateinit var binding: ActivityPdfMergeBinding
private var selectedList: ArrayList<PdfDocumentEntity> = arrayListOf()
private lateinit var adapter: PdfAdapter
@ -34,6 +37,11 @@ class MergePdfActivity : BaseActivity() {
binding = ActivityPdfMergeBinding.inflate(layoutInflater)
setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.white)
}
val list: ArrayList<PdfDocumentEntity> = requireParcelableArrayList(EXTRA_PDF_LIST)
updateContinueNowBtnState(list.size >= 2)
lifecycleScope.launch {

View File

@ -30,6 +30,8 @@ import java.io.Serializable
class PdfPickerActivity : BaseActivity() {
override val TAG: String = "PdfPickerActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
private lateinit var binding: ActivityPdfPickerBinding
private lateinit var adapter: PdfAdapter
private lateinit var source: PdfPickerSource // 保存来源
@ -49,6 +51,11 @@ class PdfPickerActivity : BaseActivity() {
}
fromActivityResult = intent.getStringExtra(EXTRA_FROM) ?: ""
historyList = requireParcelableArrayList(EXTRA_HISTORY_LIST)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.white)
}
updateViewAndState()
initView()
setupClick()

View File

@ -34,6 +34,7 @@ import com.all.pdfreader.pro.app.util.ToastUtils
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.gyf.immersionbar.ImmersionBar
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -42,7 +43,8 @@ import java.io.Serializable
class PdfResultActivity : BaseActivity() {
override val TAG: String = "PdfResultActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
companion object {
private const val EXTRA_SELECTED_LIST = "extra_selected_list"
private const val EXTRA_FILE_LIST = "extra_file_list"
@ -126,6 +128,11 @@ class PdfResultActivity : BaseActivity() {
binding = ActivityPdfSplitResultBinding.inflate(layoutInflater)
setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.bg_color)
}
source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE)
if (source == PdfPickerSource.NONE) {
showToast(getString(R.string.pdf_loading_failed))

View File

@ -24,7 +24,8 @@ import java.io.Serializable
class PdfToImageActivity : BaseActivity() {
override val TAG: String = "PdfToImageActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
var currentPassword: String? = null//只会选择一个文件。直接进行密码传递
private lateinit var source: PdfPickerSource
@ -49,6 +50,11 @@ class PdfToImageActivity : BaseActivity() {
super.onCreate(savedInstanceState)
binding = ActivityPdfToImgBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.bg_color)
}
filePath = intent.getStringExtra(EXTRA_PDF_PATH)
?: throw IllegalArgumentException("PDF file hash is required")
source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE)

View File

@ -32,6 +32,8 @@ import com.github.barteksc.pdfviewer.listener.OnErrorListener
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener
import com.github.barteksc.pdfviewer.listener.OnTapListener
import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar
import com.tom_roush.pdfbox.pdmodel.PDDocument
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@ -43,7 +45,8 @@ import java.io.File
class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeListener,
OnErrorListener, OnTapListener {
override val TAG: String = "PdfViewActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
companion object {
const val FRAG_TAG = "PdfViewActivity"
private const val EXTRA_PDF_HASH = "extra_pdf_hash"
@ -72,6 +75,11 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
super.onCreate(savedInstanceState)
binding = ActivityPdfViewBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.white)
}
setupDoubleBackExit()
initObserve()
val filePath = intent.getStringExtra(EXTRA_PDF_HASH)
@ -384,12 +392,12 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
isFullScreen = !isFullScreen
updateStatusAndNavigationLayout(isFullScreen)
if (isFullScreen) {
// ImmersionBar.with(this).hideBar(BarHide.FLAG_HIDE_BAR).init()
ImmersionBar.with(this).hideBar(BarHide.FLAG_HIDE_BAR).init()
} else {
val navColor =
if (appStore.isEyeCareMode) R.color.eye_protection_color else R.color.white
// ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true)
// .navigationBarColor(navColor).hideBar(BarHide.FLAG_SHOW_BAR).init()
ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true)
.navigationBarColor(navColor).hideBar(BarHide.FLAG_SHOW_BAR).init()
}
}
@ -416,8 +424,8 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
binding.eyeCareOverlay.visibility = View.GONE
binding.eyeProtectIv.setImageResource(R.drawable.eye_protect)
}
// ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true)
// .navigationBarColor(navColor).init()
ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true)
.navigationBarColor(navColor).init()
}
private fun setupDoubleBackExit() {

View File

@ -0,0 +1,181 @@
package com.all.pdfreader.pro.app.ui.act
import android.content.Context
import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.core.net.toUri
import androidx.fragment.app.Fragment
import com.all.pdfreader.pro.app.PRApp
import com.all.pdfreader.pro.app.R
import com.all.pdfreader.pro.app.databinding.ActPictureSelectorBinding
import com.all.pdfreader.pro.app.model.PdfPickerSource
import com.all.pdfreader.pro.app.util.GlideEngine
import com.luck.picture.lib.basic.PictureSelector
import com.luck.picture.lib.config.PictureMimeType
import com.luck.picture.lib.config.SelectMimeType
import com.luck.picture.lib.config.SelectModeConfig
import com.luck.picture.lib.engine.CompressFileEngine
import com.luck.picture.lib.entity.LocalMedia
import com.luck.picture.lib.interfaces.OnKeyValueResultCallbackListener
import com.luck.picture.lib.interfaces.OnMediaEditInterceptListener
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.luck.picture.lib.style.PictureSelectorStyle
import com.luck.picture.lib.style.SelectMainStyle
import com.luck.picture.lib.utils.DateUtils
import com.yalantis.ucrop.UCrop
import top.zibin.luban.Luban
import top.zibin.luban.OnNewCompressListener
import java.io.File
class PictureSelectorActivity : BaseActivity() {
private lateinit var binding: ActPictureSelectorBinding
override val rootBottomView: View?
get() = binding.rootBottomLayout
override val TAG = "PictureSelectorActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActPictureSelectorBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(false)
}
openImagePicker()
}
private fun openImagePicker() {
val selectorStyle = PictureSelectorStyle().apply {
selectMainStyle = SelectMainStyle().apply {
isSelectNumberStyle = true
isPreviewSelectNumberStyle = true
selectBackground = R.drawable.num_checkbox_selector
}
}
PictureSelector.create(this)
.openGallery(SelectMimeType.ofImage())
.setSelectorUIStyle(selectorStyle)
.setImageEngine(GlideEngine.createGlideEngine())
.setImageSpanCount(3)
.isGif(false)
.isFastSlidingSelect(true)
.setSelectionMode(SelectModeConfig.MULTIPLE)
.setMaxSelectNum(50)
.isPreviewFullScreenMode(false)
.setCompressEngine(object : CompressFileEngine {
override fun onStartCompress(
context: Context?,
source: ArrayList<Uri?>?,
call: OnKeyValueResultCallbackListener?
) {
Luban.with(context)
.load(source)
.ignoreBy(100)
.setCompressListener(object : OnNewCompressListener {
override fun onStart() {
}
override fun onSuccess(
source: String?,
compressFile: File?
) {
call?.onCallback(source, compressFile?.absolutePath)
}
override fun onError(source: String?, e: Throwable?) {
call?.onCallback(source, null)
}
})
.launch()
}
})
.setEditMediaInterceptListener(object : OnMediaEditInterceptListener {
override fun onStartMediaEdit(
fragment: Fragment, currentLocalMedia: LocalMedia, requestCode: Int
) {
val currentEditPath = currentLocalMedia.getAvailablePath()
val inputUri = if (PictureMimeType.isContent(currentEditPath)) {
currentEditPath.toUri()
} else {
Uri.fromFile(File(currentEditPath))
}
val destinationUri = Uri.fromFile(
File(
getSandboxPath(), DateUtils.getCreateFileName("CROP_") + ".jpeg"
)
)
val uCrop = UCrop.of<Any>(inputUri, destinationUri)
val buildOptions = UCrop.Options().apply {
isDarkStatusBarBlack(true)
}
uCrop.withOptions(buildOptions)
uCrop.start(this@PictureSelectorActivity, fragment, requestCode)
}
}).buildLaunch(R.id.fragment_container,object : OnResultCallbackListener<LocalMedia>{
override fun onResult(result: ArrayList<LocalMedia>) {
logDebug("forResult ->${result.size}")
if (result.isNotEmpty()) {
// result 中可能有带裁剪的 Uri 或原图 Uri
// 取出路径列表
val paths = result.mapNotNull { media ->
media.availablePath
}
if (paths.isEmpty()) {
return
}
val intent = PdfResultActivity.createIntentInputFile(
this@PictureSelectorActivity,
ArrayList(paths),
PdfPickerSource.IMAGES_TO_PDF
)
startActivity(intent)
finish()
}
}
override fun onCancel() {
finish()
}
})
// .forResult(object : OnResultCallbackListener<LocalMedia> {
// override fun onResult(result: ArrayList<LocalMedia>) {
// logDebug("forResult ->${result.size}")
// if (result.isNotEmpty()) {
// // result 中可能有带裁剪的 Uri 或原图 Uri
// // 取出路径列表
// val paths = result.mapNotNull { media ->
// media.availablePath
// }
// if (paths.isEmpty()) {
// return
// }
// val intent = PdfResultActivity.createIntentInputFile(
// this@PictureSelectorActivity,
// ArrayList(paths),
// PdfPickerSource.IMAGES_TO_PDF
// )
// startActivity(intent)
// }
// }
//
// override fun onCancel() {
// logDebug("onCancel")
// }
// })
// supportFragmentManager.beginTransaction()
// .add(R.id.fragment_fl, selectorFragment, selectorFragment.getFragmentTag())
// .addToBackStack(selectorFragment.getFragmentTag())
// .commitAllowingStateLoss();
}
fun getSandboxPath(): String {
val dir = File(PRApp.getContext().externalCacheDir, "SandboxPdfPro")
if (!dir.exists()) dir.mkdirs()
return dir.absolutePath
}
}

View File

@ -1,6 +1,7 @@
package com.all.pdfreader.pro.app.ui.act
import android.os.Bundle
import android.view.View
import android.webkit.WebChromeClient
import android.webkit.WebResourceError
import android.webkit.WebResourceRequest
@ -11,12 +12,19 @@ import com.all.pdfreader.pro.app.databinding.ActPrivacyPolicyBinding
class PrivacyPolicyActivity : BaseActivity() {
private lateinit var binding: ActPrivacyPolicyBinding
override val rootBottomView: View?
get() = binding.rootBottomLayout
override val TAG = "PrivacyPolicyActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActPrivacyPolicyBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.bg_color)
}
binding.backBtn.setOnClickListener {
finish()
}

View File

@ -36,7 +36,8 @@ import java.io.Serializable
class SearchActivity : BaseActivity() {
override val TAG: String = "SearchActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
companion object {
const val FRAG_TAG = "SearchActivity"
private const val PREF_SEARCH_HISTORY = "pref_search_history"
@ -64,6 +65,11 @@ class SearchActivity : BaseActivity() {
super.onCreate(savedInstanceState)
binding = ActivitySearchPdfBinding.inflate(layoutInflater)
setContentView(binding.root)
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.bg_color)
}
source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE)
sp = getSharedPreferences(PREF_SEARCH_HISTORY, MODE_PRIVATE)
loadHistory()

View File

@ -5,11 +5,14 @@ import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import com.all.pdfreader.pro.app.R
import com.all.pdfreader.pro.app.databinding.ActivitySplashBinding
import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar
@SuppressLint("CustomSplashScreen")
class SplashActivity : BaseActivity() {
override val TAG: String = "SplashActivity"
private lateinit var binding: ActivitySplashBinding
@ -17,10 +20,15 @@ class SplashActivity : BaseActivity() {
companion object {
private const val SPLASH_DELAY = 3000L // 启动页显示时长
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySplashBinding.inflate(layoutInflater)
setupImmersionBar {
fullScreen(true)
statusBarDarkFont(true)
hideBar(BarHide.FLAG_HIDE_NAVIGATION_BAR)
}
// 设置启动页布局
setContentView(binding.root)

View File

@ -23,6 +23,7 @@ import com.all.pdfreader.pro.app.util.AppUtils.setOnSingleClickListener
import com.all.pdfreader.pro.app.util.FileUtils.isPdfEncrypted
import com.all.pdfreader.pro.app.util.FileUtils.toUnderscoreDateTime
import com.all.pdfreader.pro.app.util.PdfUtils
import com.gyf.immersionbar.ImmersionBar
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -30,7 +31,8 @@ import java.io.File
class SplitPdfActivity : BaseActivity() {
override val TAG: String = "SplitPdfActivity"
override val rootBottomView: View?
get() = binding.rootBottomLayout
private var currentViewState: ViewState = ViewState.SPLIT_LIST
var currentPassword : String? = null//拆分只会选择一个文件。直接进行密码传递
@ -63,6 +65,11 @@ class SplitPdfActivity : BaseActivity() {
binding = ActivityPdfSplitBinding.inflate(layoutInflater)
setContentView(binding.root)
setupBackPressedCallback()
setupImmersionBar {
statusBarView(binding.view)
statusBarDarkFont(true)
navigationBarColor(R.color.bg_color)
}
filePath = intent.getStringExtra(EXTRA_PDF_PATH)
?: throw IllegalArgumentException("PDF file hash is required")
if (filePath.isEmpty()) {

View File

@ -1,6 +1,7 @@
package com.all.pdfreader.pro.app.ui.fragment
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
@ -14,6 +15,7 @@ import com.all.pdfreader.pro.app.databinding.FragmentToolsBinding
import com.all.pdfreader.pro.app.model.PdfPickerSource
import com.all.pdfreader.pro.app.ui.act.PdfPickerActivity
import com.all.pdfreader.pro.app.ui.act.PdfResultActivity
import com.all.pdfreader.pro.app.ui.act.PictureSelectorActivity
import com.all.pdfreader.pro.app.util.GlideEngine
import com.luck.picture.lib.basic.PictureSelector
import com.luck.picture.lib.config.PictureMimeType
@ -66,7 +68,8 @@ class ToolsFrag : BaseFrag() {
startActivity(intent)
}
binding.imgToPdfBtn.setOnClickListener {
openImagePicker()
val intent = Intent(requireActivity(), PictureSelectorActivity::class.java)
startActivity(intent)
}
binding.pdfToImgBtn.setOnClickListener {
val intent = PdfPickerActivity.createIntent(requireActivity(), PdfPickerSource.PDF_TO_IMAGES)
@ -81,106 +84,4 @@ class ToolsFrag : BaseFrag() {
startActivity(intent)
}
}
private fun openImagePicker() {
val selectorStyle = PictureSelectorStyle().apply {
selectMainStyle = SelectMainStyle().apply {
isSelectNumberStyle = true
isPreviewSelectNumberStyle = true
selectBackground = R.drawable.num_checkbox_selector
}
}
PictureSelector.create(this)
.openGallery(SelectMimeType.ofImage())
.setSelectorUIStyle(selectorStyle)
.setImageEngine(GlideEngine.createGlideEngine())
.setImageSpanCount(3)
.isGif(false)
.isFastSlidingSelect(true)
.setSelectionMode(SelectModeConfig.MULTIPLE)
.setMaxSelectNum(50)
.setCompressEngine(object : CompressFileEngine {
override fun onStartCompress(
context: Context?,
source: ArrayList<Uri?>?,
call: OnKeyValueResultCallbackListener?
) {
Luban.with(context)
.load(source)
.ignoreBy(100)
.setCompressListener(object : OnNewCompressListener {
override fun onStart() {
}
override fun onSuccess(
source: String?,
compressFile: File?
) {
call?.onCallback(source, compressFile?.absolutePath)
}
override fun onError(source: String?, e: Throwable?) {
call?.onCallback(source, null)
}
})
.launch()
}
})
.setEditMediaInterceptListener(object : OnMediaEditInterceptListener {
override fun onStartMediaEdit(
fragment: Fragment, currentLocalMedia: LocalMedia, requestCode: Int
) {
val currentEditPath = currentLocalMedia.getAvailablePath()
val inputUri = if (PictureMimeType.isContent(currentEditPath)) {
currentEditPath.toUri()
} else {
Uri.fromFile(File(currentEditPath))
}
val destinationUri = Uri.fromFile(
File(
getSandboxPath(), DateUtils.getCreateFileName("CROP_") + ".jpeg"
)
)
val uCrop = UCrop.of<Any>(inputUri, destinationUri)
val buildOptions = UCrop.Options().apply {
isDarkStatusBarBlack(true)
}
uCrop.withOptions(buildOptions)
uCrop.start(requireActivity(), fragment, requestCode)
}
}).forResult(object : OnResultCallbackListener<LocalMedia> {
override fun onResult(result: ArrayList<LocalMedia>) {
logDebug("forResult ->${result.size}")
if (result.isNotEmpty()) {
// result 中可能有带裁剪的 Uri 或原图 Uri
// 取出路径列表
val paths = result.mapNotNull { media ->
media.availablePath
}
if (paths.isEmpty()) {
return
}
val intent = PdfResultActivity.createIntentInputFile(
requireActivity(),
ArrayList(paths),
PdfPickerSource.IMAGES_TO_PDF
)
startActivity(intent)
}
}
override fun onCancel() {
logDebug("onCancel")
}
})
}
fun getSandboxPath(): String {
val dir = File(PRApp.getContext().externalCacheDir, "SandboxPdfPro")
if (!dir.exists()) dir.mkdirs()
return dir.absolutePath
}
}

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#393a3e"
android:orientation="vertical">
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="0dp" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
@ -11,61 +11,79 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_height="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/privacy_policy"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_color"
android:orientation="vertical">
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/privacy_policy"
android:textColor="@color/black"
android:textSize="18sp" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:visibility="visible" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_color"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:visibility="visible" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
@ -11,242 +11,259 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_height="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq"
android:textColor="@color/black"
android:textSize="18sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="@string/about_app"
android:textColor="@color/icon_on"
android:textSize="20sp" />
<LinearLayout
android:id="@+id/aboutApp1Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app1"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app1_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app1_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app1_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/aboutApp2Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app2"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app2_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app2_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app2_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/aboutApp3Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app3"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app3_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app3_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app3_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginBottom="10dp"
android:text="@string/file_viewing"
android:textColor="@color/icon_on"
android:textSize="20sp" />
<LinearLayout
android:id="@+id/fileViewing1Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app3"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faqFileViewing1Iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faqFileViewing1DscTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app3_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="@string/about_app"
android:textColor="@color/icon_on"
android:textSize="20sp" />
<LinearLayout
android:id="@+id/aboutApp1Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app1"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app1_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app1_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app1_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/aboutApp2Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app2"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app2_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app2_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app2_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/aboutApp3Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app3"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faq_about_app3_iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faq_about_app3_des_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app3_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="24dp"
android:text="@string/file_viewing"
android:textColor="@color/icon_on"
android:textSize="20sp" />
<LinearLayout
android:id="@+id/fileViewing1Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/drw_faq_item_bg"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/faq_about_app3"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<ImageView
android:id="@+id/faqFileViewing1Iv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/icon_arrow_down_gray" />
</LinearLayout>
<TextView
android:id="@+id/faqFileViewing1DscTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/faq_about_app3_des"
android:textColor="@color/icon_off"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
</RelativeLayout>

View File

@ -454,6 +454,14 @@
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -12,115 +12,131 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_height="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/merge_pdf"
android:textColor="@color/black"
android:textSize="18sp" />
<LinearLayout
android:id="@+id/addBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/add_icon_black" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/merge_pdf"
android:textColor="@color/black"
android:textSize="18sp" />
<LinearLayout
android:id="@+id/addBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:id="@+id/noFilesLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/add_icon_black" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_marginTop="10dp"
android:overScrollMode="never"
android:scrollbars="none" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/noFilesLayout"
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_marginTop="10dp"
android:overScrollMode="never"
android:scrollbars="none" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -12,115 +12,133 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_below="@+id/view"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_above="@+id/rootBottomLayout"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/app_name"
android:textColor="@color/black"
android:textSize="18sp" />
<LinearLayout
android:id="@+id/searchBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_search_black" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/app_name"
android:textColor="@color/black"
android:textSize="18sp" />
<LinearLayout
android:id="@+id/searchBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
android:id="@+id/noFilesLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_search_black" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_marginTop="10dp"
android:overScrollMode="never"
android:scrollbars="none" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/noFilesLayout"
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_above="@+id/continue_now_btn"
android:overScrollMode="never"
android:scrollbars="none" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout 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"
@ -13,159 +13,178 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_height="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="@string/selected_page"
android:textColor="@color/black"
android:textSize="16sp" />
android:orientation="horizontal">
<LinearLayout
android:id="@+id/selectAllBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:layout_marginEnd="8dp"
android:gravity="center">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:id="@+id/selectAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_select_all_black" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="@string/selected_page"
android:textColor="@color/black"
android:textSize="16sp" />
<LinearLayout
android:id="@+id/selectAllBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:id="@+id/selectAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_select_all_black" />
</LinearLayout>
<LinearLayout
android:id="@+id/addBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:id="@+id/addAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/add_icon_black" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/addBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:gravity="center">
<include
android:id="@+id/loadingRoot"
layout="@layout/layout_loading"
android:visibility="gone" />
<ImageView
android:id="@+id/addAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/add_icon_black" />
<RelativeLayout
android:id="@+id/splitListLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_color"
android:visibility="visible">
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_margin="8dp"
android:overScrollMode="never"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="6"
tools:listitem="@layout/adapter_split_page_item" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/splitSelectLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_color">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitSelectRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/splitBtn"
android:overScrollMode="never"
android:scrollbars="none"
tools:itemCount="3"
tools:listitem="@layout/adapter_split_selected_page_item" />
<LinearLayout
android:id="@+id/splitBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/split_pdf"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:background="@color/bg_color"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</LinearLayout>
<include
android:id="@+id/loadingRoot"
layout="@layout/layout_loading"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/splitListLayout"
android:background="@color/bg_color"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_margin="8dp"
android:overScrollMode="never"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="6"
tools:listitem="@layout/adapter_split_page_item" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/continue_now"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/splitSelectLayout"
android:layout_width="match_parent"
android:background="@color/bg_color"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitSelectRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/splitBtn"
android:overScrollMode="never"
android:scrollbars="none"
tools:itemCount="3"
tools:listitem="@layout/adapter_split_selected_page_item" />
<LinearLayout
android:id="@+id/splitBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/split_pdf"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -12,234 +12,150 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/processingLayout"
android:layout_width="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:id="@+id/processingLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/progressTv"
style="@style/TextViewFont_PopSemiBold"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/black"
android:textSize="32sp" />
android:orientation="horizontal">
<TextView
android:id="@+id/progressTv"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/black"
android:textSize="32sp" />
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="%"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopSemiBold"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="%"
android:layout_marginTop="8dp"
android:text="@string/processing"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/processing"
android:textColor="@color/black"
android:textSize="18sp" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_margin="32dp"
android:indeterminate="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center_vertical|end"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/delete_cha_icon" />
</LinearLayout>
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="32dp"
android:background="@drawable/drw_result_congratulations_bg"
android:padding="10dp"
android:src="@drawable/gou_white" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/congratulations"
android:textColor="@color/text_color_lv1"
android:textSize="20sp" />
<TextView
android:id="@+id/congratulationsDesc"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:text="@string/file_created_success"
android:textColor="@color/text_color_lv2"
android:textSize="16sp" />
<View
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_margin="16dp"
android:background="@drawable/dashed_line" />
android:layout_height="24dp"
android:layout_margin="32dp"
android:indeterminate="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center_vertical|end"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/delete_cha_icon" />
</LinearLayout>
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="32dp"
android:background="@drawable/drw_result_congratulations_bg"
android:padding="10dp"
android:src="@drawable/gou_white" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/congratulations"
android:textColor="@color/text_color_lv1"
android:textSize="20sp" />
<TextView
android:id="@+id/congratulationsDesc"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:text="@string/file_created_success"
android:textColor="@color/text_color_lv2"
android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_margin="16dp"
android:background="@drawable/dashed_line" />
<LinearLayout
android:id="@+id/oneResultView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical">
<RelativeLayout
android:layout_width="82dp"
android:layout_height="100dp"
android:background="@drawable/dr_item_img_frame"
android:padding="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dr_placeholder_bg"
android:gravity="center">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/file_document" />
</LinearLayout>
<ImageView
android:id="@+id/image"
android:layout_width="82dp"
android:layout_height="100dp" />
<LinearLayout
android:id="@+id/lock_layout"
android:layout_width="82dp"
android:layout_height="100dp"
android:background="@drawable/dr_item_lock_bg"
android:gravity="center"
android:visibility="gone">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_lock_item" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:id="@+id/oneResultView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/fileNameTv"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/app_name"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<TextView
android:id="@+id/pathTv"
style="@style/TextViewFont_PopRegular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:text="@string/path_details"
android:textColor="@color/text_color_lv2"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/multipleImageLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical">
<RelativeLayout
android:layout_width="92dp"
android:layout_height="110dp">
<View
android:layout_width="82dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:rotation="5"
android:background="@drawable/dr_placeholder_bg"/>
<RelativeLayout
android:layout_width="82dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/dr_item_img_frame"
android:padding="1dp">
@ -257,104 +173,208 @@
</LinearLayout>
<ImageView
android:id="@+id/multipleImage"
android:id="@+id/image"
android:layout_width="82dp"
android:layout_height="100dp" />
<TextView
android:id="@+id/multipleNumberTv"
style="@style/TextViewFont_PopMedium"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_alignParentStart="true"
android:background="@drawable/dr_collect_state_black_bg"
<LinearLayout
android:id="@+id/lock_layout"
android:layout_width="82dp"
android:layout_height="100dp"
android:background="@drawable/dr_item_lock_bg"
android:gravity="center"
android:text="1"
android:textColor="@color/white"
android:textSize="12sp" />
android:visibility="gone">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_lock_item" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/fileNameTv"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/app_name"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
<TextView
android:id="@+id/pathTv"
style="@style/TextViewFont_PopRegular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:text="@string/path_details"
android:textColor="@color/text_color_lv2"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/multipleImageLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical">
<RelativeLayout
android:layout_width="92dp"
android:layout_height="110dp">
<View
android:layout_width="82dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/dr_placeholder_bg"
android:rotation="5" />
<RelativeLayout
android:layout_width="82dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/dr_item_img_frame"
android:padding="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dr_placeholder_bg"
android:gravity="center">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/file_document" />
</LinearLayout>
<ImageView
android:id="@+id/multipleImage"
android:layout_width="82dp"
android:layout_height="100dp" />
<TextView
android:id="@+id/multipleNumberTv"
style="@style/TextViewFont_PopMedium"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_alignParentStart="true"
android:background="@drawable/dr_collect_state_black_bg"
android:gravity="center"
android:text="1"
android:textColor="@color/white"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/multipleImageTv"
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/number_image_converted"
android:textColor="@color/text_color_lv1"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_margin="16dp"
tools:itemCount="3"
tools:listitem="@layout/adapter_selected_result_item" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout
android:id="@+id/shareBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_weight="1"
android:background="@drawable/dr_click_btn_bg"
android:gravity="center">
<TextView
android:id="@+id/multipleImageTv"
style="@style/TextViewFont_PopMedium"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:maxLines="1"
android:text="@string/number_image_converted"
android:textColor="@color/text_color_lv1"
android:text="@string/share_file"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/okBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:background="@drawable/dr_cancel_btn_bg"
android:gravity="center">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_margin="16dp"
tools:itemCount="3"
tools:listitem="@layout/adapter_selected_result_item" />
<TextView
android:id="@+id/okBtnTv"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/open"
android:textColor="@color/icon_on"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout
android:id="@+id/shareBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_weight="1"
android:background="@drawable/dr_click_btn_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/share_file"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/okBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:background="@drawable/dr_cancel_btn_bg"
android:gravity="center">
<TextView
android:id="@+id/okBtnTv"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/open"
android:textColor="@color/icon_on"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout 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"
@ -13,103 +13,121 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="@string/selected_page"
android:textColor="@color/black"
android:textSize="16sp" />
<LinearLayout
android:id="@+id/selectAllBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:id="@+id/selectAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_select_all_black" />
</LinearLayout>
</LinearLayout>
<include
android:id="@+id/loadingRoot"
layout="@layout/layout_loading"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/splitListLayout"
android:layout_width="match_parent"
android:background="@color/bg_color"
android:layout_height="match_parent"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_margin="8dp"
android:overScrollMode="never"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="6"
tools:listitem="@layout/adapter_split_page_item" />
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/continue_now_btn"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:id="@+id/title"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/convert"
android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="@string/selected_page"
android:textColor="@color/black"
android:textSize="16sp" />
<LinearLayout
android:id="@+id/selectAllBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:id="@+id/selectAll"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/icon_select_all_black" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<include
android:id="@+id/loadingRoot"
layout="@layout/layout_loading"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/splitListLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_color"
android:visibility="visible">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/splitRv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/continue_now_btn"
android:layout_margin="8dp"
android:overScrollMode="never"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="6"
tools:listitem="@layout/adapter_split_page_item" />
<LinearLayout
android:id="@+id/continue_now_btn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/dr_btn_not_clickable_bg"
android:gravity="center">
<TextView
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/convert"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/bg_color"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>

View File

@ -333,6 +333,15 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
<!-- 护眼模式覆盖层 -->

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -12,163 +12,183 @@
android:layout_height="0dp" />
<LinearLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_height="match_parent"
android:layout_above="@+id/rootBottomLayout"
android:layout_below="@+id/view"
android:orientation="vertical">
<LinearLayout
android:id="@+id/backBtn"
android:layout_width="44dp"
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/back_black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginEnd="16dp"
android:background="@drawable/dr_item_img_30_frame"
android:gravity="center_vertical">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/searchEdit"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:background="@null"
android:hint="@string/search_hint"
android:textSize="14sp" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp">
<ImageView
android:id="@+id/searchIv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_centerInParent="true"
android:src="@drawable/icon_search_black" />
<ImageView
android:id="@+id/deleteIv"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:src="@drawable/delete_cha_icon"
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/noFilesLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/historyLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/historyTitle"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/history"
android:textColor="#333333"
android:textSize="16sp" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/clearHistory"
android:layout_width="32dp"
android:layout_height="32dp"
android:id="@+id/backBtn"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/delete" />
android:src="@drawable/back_black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginEnd="16dp"
android:background="@drawable/dr_item_img_30_frame"
android:gravity="center_vertical">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/searchEdit"
style="@style/TextViewFont_PopMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:background="@null"
android:hint="@string/search_hint"
android:textSize="14sp" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp">
<ImageView
android:id="@+id/searchIv"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_centerInParent="true"
android:src="@drawable/icon_search_black" />
<ImageView
android:id="@+id/deleteIv"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:src="@drawable/delete_cha_icon"
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<com.google.android.flexbox.FlexboxLayout
android:id="@+id/historyFlexLayout"
<LinearLayout
android:id="@+id/noFilesLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:flexWrap="wrap"
app:justifyContent="flex_start" />
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_no_files_yet" />
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_files_yet"
android:textColor="@color/text_color_lv2"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/historyLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/historyTitle"
style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/history"
android:textColor="#333333"
android:textSize="16sp" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/clearHistory"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/dr_click_effect_oval_transparent"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/delete" />
</LinearLayout>
</LinearLayout>
<com.google.android.flexbox.FlexboxLayout
android:id="@+id/historyFlexLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:flexWrap="wrap"
app:justifyContent="flex_start" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:clipToPadding="false"
android:paddingBottom="32dp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/rootBottomLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:background="@drawable/dr_rc_top_20_bg_white">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:clipToPadding="false"
android:paddingBottom="32dp" />
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,14 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.PDFReaderPro" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@android:color/white</item>
</style>
<style name="Theme.PDFReaderPro" parent="Theme.AppCompat.Light.NoActionBar"/>
<!-- PermissionActivity Dialog theme -->
<style name="Theme.PDFReaderPro.Dialog" parent="Theme.PDFReaderPro">

View File

@ -13,8 +13,8 @@ junit = "4.13.2"
junitVersion = "1.3.0"
espressoCore = "3.7.0"
lifecycleRuntimeKtx = "2.9.2"
immersionbar = "3.2.2"
immersionbarKtx = "3.2.2"
immersionbar = "3.4.0"
immersionbarKtx = "3.4.0"
pdfboxAndroid = "2.0.27.0"
pictureselector = "v3.11.2"
room_version = "2.7.2"
@ -40,8 +40,8 @@ junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
immersionbar = { group = "com.geyifeng.immersionbar", name = "immersionbar", version.ref = "immersionbar" }
immersionbar-ktx = { group = "com.geyifeng.immersionbar", name = "immersionbar-ktx", version.ref = "immersionbarKtx" }
immersionbar = { group = "com.github.OCNYang.ImmersionBar", name = "immersionbar", version.ref = "immersionbar" }
immersionbar-ktx = { group = "com.github.OCNYang.ImmersionBar", name = "immersionbar-ktx", version.ref = "immersionbarKtx" }
androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" }
androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
pdfbox-android = { module = "com.tom-roush:pdfbox-android", version.ref = "pdfboxAndroid" }