Commit 7e2247e0 authored by wanglei's avatar wanglei

...

parent 7cbdf3da
...@@ -20,9 +20,8 @@ import com.base.browserwhite.utils.KotlinExt.toFormatSize ...@@ -20,9 +20,8 @@ import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.XmlEx.inflate import com.base.browserwhite.utils.XmlEx.inflate
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import java.io.File import java.io.File
import java.util.ArrayList
class MediaAdapter : RecyclerView.Adapter<MediaAdapter.MediaViewHolder>() { class MediaAdapter(val moreAction: (view: View, bean: MediaBean) -> Unit) : RecyclerView.Adapter<MediaAdapter.MediaViewHolder>() {
private val beanList = arrayListOf<MediaBean>() private val beanList = arrayListOf<MediaBean>()
...@@ -80,6 +79,10 @@ class MediaAdapter : RecyclerView.Adapter<MediaAdapter.MediaViewHolder>() { ...@@ -80,6 +79,10 @@ class MediaAdapter : RecyclerView.Adapter<MediaAdapter.MediaViewHolder>() {
val file = File(bean.path) val file = File(bean.path)
binding.tvName.text = file.name binding.tvName.text = file.name
binding.tvSize.text = file.length().toFormatSize() binding.tvSize.text = file.length().toFormatSize()
binding.flMore.setOnClickListener {
moreAction.invoke(it, bean)
}
} }
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
......
...@@ -12,6 +12,7 @@ import androidx.lifecycle.lifecycleScope ...@@ -12,6 +12,7 @@ import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.databinding.FragmentFileBinding import com.base.browserwhite.databinding.FragmentFileBinding
import com.base.browserwhite.ui.activity.MainActivity import com.base.browserwhite.ui.activity.MainActivity
import com.base.browserwhite.ui.adapter.MediaAdapter import com.base.browserwhite.ui.adapter.MediaAdapter
import com.base.browserwhite.ui.views.DialogViews.showMediaMoreDialog
import com.base.browserwhite.utils.KotlinExt.toFormatSize import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx import com.base.browserwhite.utils.LogEx
import com.base.browserwhite.utils.MediaStoreUtils.getMediaApkSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaApkSize
...@@ -41,7 +42,9 @@ class FileFragment : BaseFragment<FragmentFileBinding>() { ...@@ -41,7 +42,9 @@ class FileFragment : BaseFragment<FragmentFileBinding>() {
override fun setView() { override fun setView() {
showStorage() showStorage()
adapter = MediaAdapter() adapter = MediaAdapter { view, bean ->
requireContext().showMediaMoreDialog(view, deleteAction = {}, shareAction = {})
}
binding.rvRecent.adapter = adapter binding.rvRecent.adapter = adapter
if (requireContext().checkStorePermission()) { if (requireContext().checkStorePermission()) {
......
...@@ -6,6 +6,7 @@ import android.app.Dialog ...@@ -6,6 +6,7 @@ import android.app.Dialog
import android.content.Context import android.content.Context
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.view.Gravity
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.FrameLayout import android.widget.FrameLayout
...@@ -16,6 +17,7 @@ import com.base.browserwhite.bean.ConstObject.DUCKDUCKGO ...@@ -16,6 +17,7 @@ import com.base.browserwhite.bean.ConstObject.DUCKDUCKGO
import com.base.browserwhite.bean.ConstObject.GOOGLE import com.base.browserwhite.bean.ConstObject.GOOGLE
import com.base.browserwhite.bean.ConstObject.YAHOO import com.base.browserwhite.bean.ConstObject.YAHOO
import com.base.browserwhite.bean.ConstObject.YANDEX import com.base.browserwhite.bean.ConstObject.YANDEX
import com.base.browserwhite.databinding.DialogMediaMoreBinding
import com.base.browserwhite.databinding.DialogMyAccountBinding import com.base.browserwhite.databinding.DialogMyAccountBinding
import com.base.browserwhite.databinding.DialogPermissonOpenBinding import com.base.browserwhite.databinding.DialogPermissonOpenBinding
import com.base.browserwhite.databinding.DialogSearchEngineBinding import com.base.browserwhite.databinding.DialogSearchEngineBinding
...@@ -157,4 +159,39 @@ object DialogViews { ...@@ -157,4 +159,39 @@ object DialogViews {
} }
} }
fun Context.showMediaMoreDialog(
anchorView: View,
deleteAction: () -> Unit,
shareAction: () -> Unit,
) {
val binding = DialogMediaMoreBinding.inflate(LayoutInflater.from(this))
val dialog = AlertDialog.Builder(this).create()
dialog.setView(binding.root)
dialog.show()
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val params = dialog.window?.attributes
params?.dimAmount = 0f
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_180)
// params?.width = FrameLayout.LayoutParams.WRAP_CONTENT
params?.height = FrameLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.TOP
val location = IntArray(2)
anchorView.getLocationOnScreen(location)
params?.x = location[0]
params?.y = location[1] - resources.getDimensionPixelOffset(R.dimen.dp_200)
dialog.window?.attributes = params
binding.llDelete.setOnClickListener {
dialog.dismiss()
}
binding.llShare.setOnClickListener {
dialog.dismiss()
}
}
} }
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="160dp"
android:layout_height="145dp"
android:layout_margin="10dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
app:cardElevation="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_delete"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:src="@mipmap/f_del"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="10dp"
android:text="Delete"
android:textColor="#010101"
android:textSize="16sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_share"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:src="@mipmap/h_share"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="10dp"
android:text="Share"
android:textColor="#010101"
android:textSize="16sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>
\ No newline at end of file
...@@ -21,12 +21,12 @@ ...@@ -21,12 +21,12 @@
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<ImageView <ImageView
android:visibility="gone"
android:id="@+id/iv_shipin" android:id="@+id/iv_shipin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:src="@mipmap/h_shipin" android:src="@mipmap/h_shipin"
android:visibility="gone"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:background="?android:attr/selectableItemBackground"
android:padding="8dp"> android:padding="8dp">
<ImageView <ImageView
......
...@@ -2,4 +2,10 @@ ...@@ -2,4 +2,10 @@
<resources> <resources>
<dimen name="dp_300">300dp</dimen> <dimen name="dp_300">300dp</dimen>
<dimen name="dp_345">345dp</dimen> <dimen name="dp_345">345dp</dimen>
<dimen name="dp_200">200dp</dimen>
<dimen name="dp_210">210dp</dimen>
<dimen name="dp_180">180dp</dimen>
<dimen name="dp_15">15dp</dimen>
<dimen name="dp_150">150dp</dimen>
<dimen name="dp_30">30dp</dimen>
</resources> </resources>
\ No newline at end of file
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