Commit 90f75617 authored by wanglei's avatar wanglei

...

parent 386b363c
...@@ -101,6 +101,9 @@ class DocumentAdapter : BaseQuickAdapter<DocumentBean, DocumentAdapter.DocumentV ...@@ -101,6 +101,9 @@ class DocumentAdapter : BaseQuickAdapter<DocumentBean, DocumentAdapter.DocumentV
binding.flMore.setOnClickListener { binding.flMore.setOnClickListener {
moreAction?.invoke(item) moreAction?.invoke(item)
} }
binding.root.setOnClickListener {
itemClick?.invoke(item)
}
} }
1 -> { 1 -> {
...@@ -114,23 +117,32 @@ class DocumentAdapter : BaseQuickAdapter<DocumentBean, DocumentAdapter.DocumentV ...@@ -114,23 +117,32 @@ class DocumentAdapter : BaseQuickAdapter<DocumentBean, DocumentAdapter.DocumentV
notifyItemChanged(position, "aaa") notifyItemChanged(position, "aaa")
selectAction?.invoke(items.filter { it.isSelect }.size) selectAction?.invoke(items.filter { it.isSelect }.size)
} }
binding.root.setOnClickListener {
item.isSelect = !item.isSelect
notifyItemChanged(position, "aaa")
selectAction?.invoke(items.filter { it.isSelect }.size)
}
} }
2 -> { 2 -> {
binding.flBookmark.visibility = View.GONE binding.flBookmark.visibility = View.GONE
binding.flMore.visibility = View.INVISIBLE binding.flMore.visibility = View.INVISIBLE
binding.root.setOnClickListener {
itemClick?.invoke(item)
}
} }
3 -> { 3 -> {
binding.flBookmark.visibility = View.GONE binding.flBookmark.visibility = View.GONE
binding.flMore.visibility = View.INVISIBLE binding.flMore.visibility = View.INVISIBLE
}
}
binding.root.setOnClickListener { binding.root.setOnClickListener {
itemClick?.invoke(item) itemClick?.invoke(item)
} }
} }
}
}
private fun checkPwd(item: DocumentBean, iv: ImageView) { private fun checkPwd(item: DocumentBean, iv: ImageView) {
threadPoolExecutor.execute { threadPoolExecutor.execute {
......
...@@ -83,12 +83,12 @@ class ExcelActivity : BaseActivity<ActivityExcelBinding>() { ...@@ -83,12 +83,12 @@ class ExcelActivity : BaseActivity<ActivityExcelBinding>() {
LogEx.logDebug(TAG, "show") LogEx.logDebug(TAG, "show")
} }
} }
lifecycleScope.launch { // lifecycleScope.launch {
delay(5000) // delay(5000)
val ssControl = binding.mDocView.iOffice?.control?.appControl as SSControl // val ssControl = binding.mDocView.iOffice?.control?.appControl as SSControl
toast("转换") // toast("转换")
binding.mDocView.iOffice?.control?.sysKit // binding.mDocView.iOffice?.control?.sysKit
} // }
} }
private fun switchOrientation() { private fun switchOrientation() {
......
...@@ -162,5 +162,14 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView ...@@ -162,5 +162,14 @@ class DocumentFragment() : BaseFragment<FragmentDocumentBinding>(), DocumentView
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
} }
fun getSelectItems(): List<DocumentBean> {
return adapter.items.filter { it.isSelect }
}
fun removeList(list: List<DocumentBean>) {
list.forEach {
adapter.remove(it)
}
}
} }
\ No newline at end of file
...@@ -2,8 +2,8 @@ package com.base.pdfviewerscannerwhite.ui.main ...@@ -2,8 +2,8 @@ package com.base.pdfviewerscannerwhite.ui.main
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.net.Uri import android.net.Uri
import android.provider.MediaStore
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
...@@ -16,6 +16,7 @@ import com.base.pdfviewerscannerwhite.R ...@@ -16,6 +16,7 @@ import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showStoragePermission import com.base.pdfviewerscannerwhite.ui.view.DialogView.showStoragePermission
import com.base.pdfviewerscannerwhite.ui.view.RateDialog.showRateDialog import com.base.pdfviewerscannerwhite.ui.view.RateDialog.showRateDialog
...@@ -25,16 +26,15 @@ import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission ...@@ -25,16 +26,15 @@ import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.updateMediaStore import com.base.pdfviewerscannerwhite.utils.updateMediaStore
@SuppressLint("SetTextI18n")
class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
private val TAG = "MainActivity" private val TAG = "MainActivity"
private lateinit var mainPresenter: MainPresenter private lateinit var mainPresenter: MainPresenter
override val binding: ActivityMainBinding by lazy { override val binding: ActivityMainBinding by lazy {
ActivityMainBinding.inflate(layoutInflater) ActivityMainBinding.inflate(layoutInflater)
} }
private val pdfFragment: DocumentFragment by lazy { private val pdfFragment: DocumentFragment by lazy {
DocumentFragment(DocumentBean.TYPE_PDF) DocumentFragment(DocumentBean.TYPE_PDF)
} }
...@@ -50,7 +50,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -50,7 +50,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
private val toolFragment: ToolFragment by lazy { private val toolFragment: ToolFragment by lazy {
ToolFragment() ToolFragment()
} }
private var currentFragment: Fragment = pdfFragment private var currentFragment: Fragment = pdfFragment
private val fragments by lazy { private val fragments by lazy {
mutableListOf(pdfFragment, wordFragment, excelFragment, pptFragment, toolFragment) mutableListOf(pdfFragment, wordFragment, excelFragment, pptFragment, toolFragment)
...@@ -58,7 +57,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -58,7 +57,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
override fun initView() { override fun initView() {
mainPresenter = MainPresenter(this) mainPresenter = MainPresenter(this, this)
mainPresenter.initScannerLauncher(this) mainPresenter.initScannerLauncher(this)
binding.viewPager2.offscreenPageLimit = 4 binding.viewPager2.offscreenPageLimit = 4
...@@ -96,7 +95,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -96,7 +95,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
updateMediaStore() updateMediaStore()
} }
} }
private fun initTabLayout() { private fun initTabLayout() {
...@@ -152,98 +150,66 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -152,98 +150,66 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
ViewPager2Delegate.install(binding.viewPager2, binding.tabLayoutDocument) ViewPager2Delegate.install(binding.viewPager2, binding.tabLayoutDocument)
} }
private var latViewPagerIndex = -1
var latViewPagerIndex = -1 private lateinit var callback: OnBackPressedCallback
@SuppressLint("ClickableViewAccessibility", "SetTextI18n") @SuppressLint("ClickableViewAccessibility", "SetTextI18n")
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
callback = object : OnBackPressedCallback(true /* enabled */) {
override fun handleOnBackPressed() {
binding.llDocument.setOnClickListener { if (uiMode == HOME_UI_MODE_SELECT) {
binding.tvTittle.text = "Document" when (lastUIMode) {
binding.clTabLayout.visibility = View.VISIBLE HOME_UI_MODE_DOCUMENT -> changeDocumentUI()
if (latViewPagerIndex != -1) { HOME_UI_MODE_RECENT -> changeRecentUI()
binding.viewPager2.setCurrentItem(latViewPagerIndex, false) HOME_UI_MODE_BOOKMARK -> changeBookmarkUI()
latViewPagerIndex = -1
} }
changeTabSelect(it)
binding.ivScan.visibility = View.VISIBLE
binding.clAction.visibility = View.VISIBLE
binding.ivPaixu.visibility = View.VISIBLE
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setAllList()
} }
} }
binding.llRecent.setOnClickListener {
binding.tvTittle.text = "Document"
binding.clTabLayout.visibility = View.VISIBLE
if (latViewPagerIndex != -1) {
binding.viewPager2.setCurrentItem(latViewPagerIndex, false)
latViewPagerIndex = -1
}
binding.ivScan.visibility = View.VISIBLE
binding.clAction.visibility = View.VISIBLE
binding.ivPaixu.visibility = View.GONE
changeTabSelect(it)
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setRecentList()
} }
} onBackPressedDispatcher.addCallback(callback)
binding.llBookmark.setOnClickListener {
binding.tvTittle.text = "Document" binding.flFanhui.setOnClickListener {
binding.clTabLayout.visibility = View.VISIBLE onBackPressedDispatcher.onBackPressed()
if (latViewPagerIndex != -1) {
binding.viewPager2.setCurrentItem(latViewPagerIndex, false)
latViewPagerIndex = -1
} }
binding.ivScan.visibility = View.VISIBLE binding.llDocument.setOnClickListener {
binding.clAction.visibility = View.VISIBLE changeDocumentUI()
changeTabSelect(it)
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setBookmarkList()
} }
binding.llRecent.setOnClickListener {
changeRecentUI()
}
binding.llBookmark.setOnClickListener {
changeBookmarkUI()
} }
binding.llTool.setOnClickListener { binding.llTool.setOnClickListener {
binding.tvTittle.text = "Tool" changeToolUI()
binding.ivScan.visibility = View.GONE
binding.clTabLayout.visibility = View.GONE
changeTabSelect(it)
latViewPagerIndex = binding.viewPager2.currentItem
binding.viewPager2.setCurrentItem(5, false)
binding.clAction.visibility = View.GONE
} }
binding.ivScan.setOnClickListener { binding.ivScan.setOnClickListener {
mainPresenter.starGmsScan(this) mainPresenter.starGmsScan(this)
} }
binding.ivXuanze.setOnClickListener { binding.ivXuanze.setOnClickListener {
binding.ivPaixu.visibility = View.INVISIBLE
binding.ivXuanze.visibility = View.INVISIBLE
binding.ivSearch.visibility = View.INVISIBLE
binding.llDocument.visibility = View.INVISIBLE changeSelectUI()
binding.llRecent.visibility = View.INVISIBLE
binding.llBookmark.visibility = View.INVISIBLE
binding.llTool.visibility = View.INVISIBLE
binding.llDelete.visibility = View.VISIBLE }
binding.llShare.visibility = View.VISIBLE binding.tvTittle.setOnClickListener {
binding.ivAllSelector.visibility = View.VISIBLE }
binding.vTabLayoutPlace.setOnClickListener {
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).changeSelectUi()
} }
binding.llDelete.setOnClickListener {
if (currentFragment is DocumentFragment) {
val fragment = (currentFragment as DocumentFragment)
showDeleteDialog {
val list = fragment.getSelectItems()
mainPresenter.deleteList(list)
fragment.removeList(list)
} }
binding.llDocument.callOnClick()
binding.tvTittle.setOnClickListener {
if (binding.viewPager2.isVisible) {
binding.viewPager2.isVisible = false
} else {
binding.viewPager2.isVisible = true
} }
} }
} }
...@@ -303,5 +269,125 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -303,5 +269,125 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
showRateDialog() showRateDialog()
} }
private var uiMode = HOME_UI_MODE_DOCUMENT
fun changeDocumentUI() {
LogEx.logDebug(TAG, "changeDocumentUI")
uiMode = HOME_UI_MODE_DOCUMENT
callback.isEnabled = false
binding.viewPager2.isUserInputEnabled = true
binding.tvTittle.text = "Document"
binding.clTabLayout.visibility = View.VISIBLE
if (latViewPagerIndex != -1) {
binding.viewPager2.setCurrentItem(latViewPagerIndex, false)
latViewPagerIndex = -1
}
changeTabSelect(binding.llDocument)
binding.ivScan.visibility = View.VISIBLE
binding.clAction.visibility = View.VISIBLE
binding.ivPaixu.visibility = View.VISIBLE
binding.ivScan.visibility = View.VISIBLE
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setAllList()
}
}
fun changeRecentUI() {
LogEx.logDebug(TAG, "changeRecentUI")
uiMode = HOME_UI_MODE_RECENT
callback.isEnabled = false
binding.viewPager2.isUserInputEnabled = true
binding.tvTittle.text = "Document"
binding.clTabLayout.visibility = View.VISIBLE
if (latViewPagerIndex != -1) {
binding.viewPager2.setCurrentItem(latViewPagerIndex, false)
latViewPagerIndex = -1
}
binding.ivPaixu.visibility = View.VISIBLE
binding.ivScan.visibility = View.VISIBLE
binding.clAction.visibility = View.VISIBLE
binding.ivScan.visibility = View.VISIBLE
changeTabSelect(binding.llRecent)
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setRecentList()
}
}
fun changeBookmarkUI() {
LogEx.logDebug(TAG, "changeBookmarkUI")
uiMode = HOME_UI_MODE_BOOKMARK
callback.isEnabled = false
binding.viewPager2.isUserInputEnabled = true
binding.tvTittle.text = "Document"
binding.clTabLayout.visibility = View.VISIBLE
binding.ivScan.visibility = View.VISIBLE
if (latViewPagerIndex != -1) {
binding.viewPager2.setCurrentItem(latViewPagerIndex, false)
latViewPagerIndex = -1
}
binding.ivScan.visibility = View.VISIBLE
binding.clAction.visibility = View.VISIBLE
changeTabSelect(binding.llBookmark)
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).setBookmarkList()
}
}
private fun changeToolUI() {
LogEx.logDebug(TAG, "changeToolUI")
uiMode = HOME_UI_MODE_TOOL
callback.isEnabled = false
binding.viewPager2.isUserInputEnabled = true
binding.tvTittle.text = "Tool"
binding.ivScan.visibility = View.GONE
binding.clTabLayout.visibility = View.GONE
latViewPagerIndex = binding.viewPager2.currentItem
binding.viewPager2.setCurrentItem(5, false)
binding.clAction.visibility = View.GONE
changeTabSelect(binding.llTool)
}
private var lastUIMode = HOME_UI_MODE_DOCUMENT
private fun changeSelectUI() {
LogEx.logDebug(TAG, "changeSelectUI")
callback.isEnabled = true
lastUIMode = uiMode
uiMode = HOME_UI_MODE_SELECT
binding.ivPaixu.visibility = View.INVISIBLE
binding.ivXuanze.visibility = View.INVISIBLE
binding.ivSearch.visibility = View.INVISIBLE
binding.tvTittle.visibility = View.INVISIBLE
binding.ivScan.visibility = View.INVISIBLE
binding.llDocument.visibility = View.INVISIBLE
binding.llRecent.visibility = View.INVISIBLE
binding.llBookmark.visibility = View.INVISIBLE
binding.llTool.visibility = View.INVISIBLE
binding.flFanhui.visibility = View.VISIBLE
binding.llDelete.visibility = View.VISIBLE
binding.llShare.visibility = View.VISIBLE
binding.ivAllSelector.visibility = View.VISIBLE
binding.viewPager2.isUserInputEnabled = false
binding.vTabLayoutPlace.visibility = View.VISIBLE
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).changeSelectUi()
}
}
companion object {
const val HOME_UI_MODE_DOCUMENT = "home_ui_mode_document"
const val HOME_UI_MODE_RECENT = "home_ui_mode_recent"
const val HOME_UI_MODE_BOOKMARK = "home_ui_mode_bookmark"
const val HOME_UI_MODE_TOOL = "home_ui_mode_tool"
const val HOME_UI_MODE_SELECT = "home_ui_mode_select"
}
} }
\ No newline at end of file
package com.base.pdfviewerscannerwhite.ui.main package com.base.pdfviewerscannerwhite.ui.main
import android.app.Activity import android.app.Activity
import android.content.Context
import android.content.IntentSender import android.content.IntentSender
import android.net.Uri import android.net.Uri
import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.IntentSenderRequest import androidx.activity.result.IntentSenderRequest
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.updateMediaStore
import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions
import com.google.mlkit.vision.documentscanner.GmsDocumentScanning import com.google.mlkit.vision.documentscanner.GmsDocumentScanning
import com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult import com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import java.io.File
class MainPresenter( class MainPresenter(
val context: Context,
val mainView: MainView val mainView: MainView
) { ) {
...@@ -61,4 +69,16 @@ class MainPresenter( ...@@ -61,4 +69,16 @@ class MainPresenter(
} }
} }
fun deleteList(list: List<DocumentBean>) {
MainScope().launch(Dispatchers.IO) {
list.forEach {
runCatching {
val file = File(it.path)
file.delete()
}
}
context.updateMediaStore()
}
}
} }
\ No newline at end of file
...@@ -14,6 +14,23 @@ ...@@ -14,6 +14,23 @@
android:layout_height="60dp" android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/fanhui_b"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView <TextView
android:id="@+id/tv_tittle" android:id="@+id/tv_tittle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -98,7 +115,7 @@ ...@@ -98,7 +115,7 @@
<FrameLayout <FrameLayout
android:id="@+id/cl_tabLayout" android:id="@+id/cl_tabLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="50dp"
android:background="#00000000"> android:background="#00000000">
<com.angcyo.tablayout.DslTabLayout <com.angcyo.tablayout.DslTabLayout
...@@ -164,6 +181,14 @@ ...@@ -164,6 +181,14 @@
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
</com.angcyo.tablayout.DslTabLayout> </com.angcyo.tablayout.DslTabLayout>
<View
android:id="@+id/v_tabLayout_place"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
<androidx.viewpager2.widget.ViewPager2 <androidx.viewpager2.widget.ViewPager2
...@@ -360,17 +385,16 @@ ...@@ -360,17 +385,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp" android:layout_marginTop="9dp"
android:src="@drawable/bg_selector_tool" android:src="@mipmap/x_delete"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="2.5dp" android:layout_marginTop="2.5dp"
android:text="Tool" android:text="Delete"
android:textColor="@color/color_tab_selector" android:textColor="#333333"
android:textSize="11sp" android:textSize="11sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
...@@ -396,17 +420,16 @@ ...@@ -396,17 +420,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp" android:layout_marginTop="9dp"
android:src="@drawable/bg_selector_tool" android:src="@mipmap/x_share"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="2.5dp" android:layout_marginTop="2.5dp"
android:text="Tool" android:text="Share"
android:textColor="@color/color_tab_selector" android:textColor="#333333"
android:textSize="11sp" android:textSize="11sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
<FrameLayout <FrameLayout
android:id="@+id/fl_more" android:id="@+id/fl_more"
android:layout_width="45dp" android:layout_width="wrap_content"
android:layout_height="45dp" android:layout_height="wrap_content"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
<FrameLayout <FrameLayout
android:id="@+id/fl_select" android:id="@+id/fl_select"
android:layout_width="45dp" android:layout_width="wrap_content"
android:layout_height="45dp" android:layout_height="wrap_content"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
...@@ -67,8 +67,8 @@ ...@@ -67,8 +67,8 @@
<FrameLayout <FrameLayout
android:id="@+id/fl_bookmark" android:id="@+id/fl_bookmark"
android:layout_width="45dp" android:layout_width="wrap_content"
android:layout_height="45dp" android:layout_height="wrap_content"
android:layout_marginEnd="5dp" android:layout_marginEnd="5dp"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment