From 854c0debc16ea850c587bc5f2598c4ddad283b40 Mon Sep 17 00:00:00 2001 From: ocean <503259349@qq.com> Date: Tue, 11 Nov 2025 17:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=8E=BB=E6=8E=89immersionba?= =?UTF-8?q?r=EF=BC=8C=E5=AF=BB=E6=89=BE=E9=80=82=E9=85=8D=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 4 +- app/src/main/AndroidManifest.xml | 4 +- .../pdfreader/pro/app/ui/act/BaseActivity.kt | 4 +- .../pdfreader/pro/app/ui/act/FAQActivity.kt | 3 - .../pdfreader/pro/app/ui/act/MainActivity.kt | 11 - .../pro/app/ui/act/MergePdfActivity.kt | 6 - .../pro/app/ui/act/PdfPickerActivity.kt | 4 - .../pro/app/ui/act/PdfResultActivity.kt | 3 - .../pro/app/ui/act/PdfToImageActivity.kt | 3 - .../pro/app/ui/act/PdfViewActivity.kt | 17 +- .../pro/app/ui/act/PrivacyPolicyActivity.kt | 3 - .../pro/app/ui/act/SearchActivity.kt | 3 - .../pro/app/ui/act/SplashActivity.kt | 8 - .../pro/app/ui/act/SplitPdfActivity.kt | 3 - .../app/ui/dialog/ListMoreDialogFragment.kt | 2 +- app/src/main/res/layout/activity_main.xml | 766 +++++++++--------- app/src/main/res/layout/dialog_list_more.xml | 1 + app/src/main/res/values/themes.xml | 8 +- 18 files changed, 399 insertions(+), 454 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index fec5139..e4c25d1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -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) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 860fde3..22ad550 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -36,9 +36,9 @@ android:label="@string/app_name" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/app_logo" + android:largeHeap="true" android:supportsRtl="true" - android:theme="@style/Theme.PDFReaderPro" - tools:targetApi="36"> + android:theme="@style/Theme.PDFReaderPro"> diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/BaseActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/BaseActivity.kt index 8eb08a0..01b8916 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/BaseActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/BaseActivity.kt @@ -3,11 +3,10 @@ package com.all.pdfreader.pro.app.ui.act import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity -import com.all.pdfreader.pro.app.R +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 abstract class BaseActivity : AppCompatActivity() { @@ -15,6 +14,7 @@ abstract class BaseActivity : AppCompatActivity() { 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") } diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/FAQActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/FAQActivity.kt index b7bd21f..017eff8 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/FAQActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/FAQActivity.kt @@ -7,7 +7,6 @@ import android.widget.TextView import androidx.core.text.HtmlCompat import com.all.pdfreader.pro.app.R import com.all.pdfreader.pro.app.databinding.ActivityFaqBinding -import com.gyf.immersionbar.ImmersionBar class FAQActivity : BaseActivity() { override val TAG: String = "FAQActivity" @@ -22,8 +21,6 @@ class FAQActivity : BaseActivity() { super.onCreate(savedInstanceState) binding = ActivityFaqBinding.inflate(layoutInflater) setContentView(binding.root) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.white).init() initView() } diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MainActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MainActivity.kt index 4e89fb9..9df7393 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MainActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MainActivity.kt @@ -32,9 +32,6 @@ import com.all.pdfreader.pro.app.util.PdfScanner import com.all.pdfreader.pro.app.util.StoragePermissionHelper import com.all.pdfreader.pro.app.viewmodel.PdfViewModel import com.all.pdfreader.pro.app.viewmodel.observeEvent -import com.gyf.immersionbar.ImmersionBar -import com.gyf.immersionbar.NavigationBarType -import com.gyf.immersionbar.OnNavigationBarListener import kotlinx.coroutines.launch import java.io.File @@ -59,18 +56,10 @@ class MainActivity : BaseActivity(), PermissionDialogFragment.PermissionCallback override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setTheme(R.style.Theme_PDFReaderPro) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) setupDoubleBackExit() initObserve() - ImmersionBar - .with(this) - .statusBarView(binding.view) - .statusBarDarkFont(false) - .navigationBarColor(R.color.red) - .init() - setupFragments() setupNavigation() pdfScanner = PdfScanner(this, pdfRepository) diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MergePdfActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MergePdfActivity.kt index 7c08570..2fe1bd6 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MergePdfActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/MergePdfActivity.kt @@ -19,12 +19,8 @@ import com.all.pdfreader.pro.app.ui.dialog.PdfPasswordProtectionDialogFragment import com.all.pdfreader.pro.app.ui.dialog.PromptDialogFragment import com.all.pdfreader.pro.app.util.AppUtils.setClickWithAnimation import com.all.pdfreader.pro.app.util.AppUtils.setOnSingleClickListener -import com.all.pdfreader.pro.app.util.FileUtils.isPdfEncrypted -import com.gyf.immersionbar.ImmersionBar -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.suspendCancellableCoroutine -import kotlinx.coroutines.withContext import java.io.File class MergePdfActivity : BaseActivity() { @@ -38,8 +34,6 @@ class MergePdfActivity : BaseActivity() { binding = ActivityPdfMergeBinding.inflate(layoutInflater) setContentView(binding.root) setupBackPressedCallback() - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.white).init() val list: ArrayList = requireParcelableArrayList(EXTRA_PDF_LIST) updateContinueNowBtnState(list.size >= 2) lifecycleScope.launch { diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfPickerActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfPickerActivity.kt index e802886..44310da 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfPickerActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfPickerActivity.kt @@ -7,7 +7,6 @@ import android.os.Build import android.os.Bundle import android.os.Parcelable import android.view.View -import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager @@ -25,7 +24,6 @@ import com.all.pdfreader.pro.app.util.AppUtils.printPdfFile import com.all.pdfreader.pro.app.util.AppUtils.setClickWithAnimation import com.all.pdfreader.pro.app.util.AppUtils.setOnSingleClickListener import com.all.pdfreader.pro.app.util.ToastUtils -import com.gyf.immersionbar.ImmersionBar import kotlinx.coroutines.launch import java.io.File import java.io.Serializable @@ -51,8 +49,6 @@ class PdfPickerActivity : BaseActivity() { } fromActivityResult = intent.getStringExtra(EXTRA_FROM) ?: "" historyList = requireParcelableArrayList(EXTRA_HISTORY_LIST) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.white).init() updateViewAndState() initView() setupClick() diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfResultActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfResultActivity.kt index ad9581f..aee842c 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfResultActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfResultActivity.kt @@ -34,7 +34,6 @@ 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 @@ -127,8 +126,6 @@ class PdfResultActivity : BaseActivity() { binding = ActivityPdfSplitResultBinding.inflate(layoutInflater) setContentView(binding.root) setupBackPressedCallback() - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.bg_color).init() source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE) if (source == PdfPickerSource.NONE) { showToast(getString(R.string.pdf_loading_failed)) diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfToImageActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfToImageActivity.kt index 22c0780..8583107 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfToImageActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfToImageActivity.kt @@ -16,7 +16,6 @@ import com.all.pdfreader.pro.app.ui.dialog.PdfPasswordProtectionDialogFragment 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.PdfUtils -import com.gyf.immersionbar.ImmersionBar import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -50,8 +49,6 @@ class PdfToImageActivity : BaseActivity() { super.onCreate(savedInstanceState) binding = ActivityPdfToImgBinding.inflate(layoutInflater) setContentView(binding.root) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.bg_color).init() filePath = intent.getStringExtra(EXTRA_PDF_PATH) ?: throw IllegalArgumentException("PDF file hash is required") source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE) diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfViewActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfViewActivity.kt index 22a2e39..df91707 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfViewActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PdfViewActivity.kt @@ -8,14 +8,12 @@ import android.text.TextWatcher import android.view.MotionEvent import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.all.pdfreader.pro.app.R import com.all.pdfreader.pro.app.databinding.ActivityPdfViewBinding import com.all.pdfreader.pro.app.model.FileActionEvent -import com.all.pdfreader.pro.app.model.PdfPickerSource import com.all.pdfreader.pro.app.room.entity.PdfDocumentEntity import com.all.pdfreader.pro.app.ui.dialog.BookmarksDialogFragment import com.all.pdfreader.pro.app.ui.dialog.ListMoreDialogFragment @@ -34,13 +32,10 @@ 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 import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.io.File @@ -77,8 +72,6 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList super.onCreate(savedInstanceState) binding = ActivityPdfViewBinding.inflate(layoutInflater) setContentView(binding.root) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.white).init() setupDoubleBackExit() initObserve() val filePath = intent.getStringExtra(EXTRA_PDF_HASH) @@ -391,12 +384,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() } } @@ -423,8 +416,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() { diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PrivacyPolicyActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PrivacyPolicyActivity.kt index 0b13dc1..aeaa69b 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PrivacyPolicyActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/PrivacyPolicyActivity.kt @@ -8,7 +8,6 @@ import android.webkit.WebView import android.webkit.WebViewClient import com.all.pdfreader.pro.app.R import com.all.pdfreader.pro.app.databinding.ActPrivacyPolicyBinding -import com.gyf.immersionbar.ImmersionBar class PrivacyPolicyActivity : BaseActivity() { private lateinit var binding: ActPrivacyPolicyBinding @@ -18,8 +17,6 @@ class PrivacyPolicyActivity : BaseActivity() { super.onCreate(savedInstanceState) binding = ActPrivacyPolicyBinding.inflate(layoutInflater) setContentView(binding.root) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.bg_color).init() binding.backBtn.setOnClickListener { finish() } diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SearchActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SearchActivity.kt index bfea984..9c3b2df 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SearchActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SearchActivity.kt @@ -26,7 +26,6 @@ import com.all.pdfreader.pro.app.ui.dialog.PromptDialogFragment import com.all.pdfreader.pro.app.util.AppUtils.printPdfFile import com.all.pdfreader.pro.app.util.AppUtils.showKeyboard import com.all.pdfreader.pro.app.util.ToastUtils -import com.gyf.immersionbar.ImmersionBar import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest @@ -65,8 +64,6 @@ class SearchActivity : BaseActivity() { super.onCreate(savedInstanceState) binding = ActivitySearchPdfBinding.inflate(layoutInflater) setContentView(binding.root) - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.bg_color).init() source = getSerializableOrDefault(EXTRA_SOURCE, PdfPickerSource.NONE) sp = getSharedPreferences(PREF_SEARCH_HISTORY, MODE_PRIVATE) loadHistory() diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplashActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplashActivity.kt index 72ab439..939a6d3 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplashActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplashActivity.kt @@ -6,7 +6,6 @@ import android.os.Bundle import android.os.Handler import android.os.Looper import com.all.pdfreader.pro.app.databinding.ActivitySplashBinding -import com.gyf.immersionbar.ImmersionBar @SuppressLint("CustomSplashScreen") class SplashActivity : BaseActivity() { @@ -22,13 +21,6 @@ class SplashActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivitySplashBinding.inflate(layoutInflater) - ImmersionBar - .with(this) - .fullScreen(true) - .statusBarDarkFont(true) - .transparentNavigationBar() - .init() - // 设置启动页布局 setContentView(binding.root) diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplitPdfActivity.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplitPdfActivity.kt index 2dbfe95..ec53f42 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplitPdfActivity.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/act/SplitPdfActivity.kt @@ -23,7 +23,6 @@ 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 @@ -64,8 +63,6 @@ class SplitPdfActivity : BaseActivity() { binding = ActivityPdfSplitBinding.inflate(layoutInflater) setContentView(binding.root) setupBackPressedCallback() - ImmersionBar.with(this).statusBarView(binding.view).statusBarDarkFont(true) - .navigationBarColor(R.color.bg_color).init() filePath = intent.getStringExtra(EXTRA_PDF_PATH) ?: throw IllegalArgumentException("PDF file hash is required") if (filePath.isEmpty()) { diff --git a/app/src/main/java/com/all/pdfreader/pro/app/ui/dialog/ListMoreDialogFragment.kt b/app/src/main/java/com/all/pdfreader/pro/app/ui/dialog/ListMoreDialogFragment.kt index 7ec6249..b4a41a1 100644 --- a/app/src/main/java/com/all/pdfreader/pro/app/ui/dialog/ListMoreDialogFragment.kt +++ b/app/src/main/java/com/all/pdfreader/pro/app/ui/dialog/ListMoreDialogFragment.kt @@ -124,7 +124,7 @@ class ListMoreDialogFragment(val filePath: String) : BottomSheetDialogFragment() binding.lockLayout.visibility = View.GONE binding.tvFileImg.visibility = View.VISIBLE Glide.with(binding.root).load(pdfDocument.thumbnailPath) - .transform(CenterCrop(), RoundedCorners(8.dpToPx(binding.root.context))) + .transform(CenterCrop(), RoundedCorners(4.dpToPx(binding.root.context))) .into(binding.tvFileImg) } updateCollectUi(isFavorite) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 790aec0..ea64891 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -3,458 +3,462 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical"> + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="match_parent"> - - - - - + android:layout_height="0dp" /> + android:layout_height="56dp" + android:gravity="center_vertical" + android:orientation="horizontal"> - - - - - - - - - - - - - + android:src="@drawable/icon_sidebar" /> - + + + android:id="@+id/searchBtn" + android:layout_width="44dp" + android:layout_height="44dp" + android:background="@drawable/dr_click_effect_oval_transparent" + android:gravity="center"> - - + android:src="@drawable/icon_search" /> + android:id="@+id/multiSelectBtn" + android:layout_width="44dp" + android:layout_height="44dp" + android:layout_marginEnd="6dp" + android:background="@drawable/dr_click_effect_oval_transparent" + android:gravity="center"> - - + android:src="@drawable/icon_multi_select" /> + + - + - + - - + + - - + - - + + + + + + + + + + + + + + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:orientation="vertical"> + android:id="@+id/pnLayout" + android:layout_width="match_parent" + android:layout_height="64dp" + android:background="@drawable/dr_rounded_corner_top_bg_grey" + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:visibility="visible"> + android:src="@drawable/icon_notice" /> - + + + + + + + + + android:layout_height="match_parent" + android:gravity="center"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:id="@+id/multiSelectBottomLayout" + android:layout_width="match_parent" + android:layout_height="64dp" + android:background="@color/white" + android:orientation="horizontal" + android:visibility="visible"> - + - - + - + + - + - - + - + + - + - + + + + + + + + + + + - + + @null @android:color/white - - - +