Commit bdb20c8e authored by wanglei's avatar wanglei

...

parent 1445523c
......@@ -23,8 +23,11 @@ import com.base.pdfoneread.ui.BaseActivity
import com.base.pdfoneread.ui.pdf.PdfActivity
import com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpOtherDocument
import com.base.pdfoneread.ui.views.DialogCallBack
import com.base.pdfoneread.ui.views.DocumentDialog.SORT_BY_LAST_MODIFIED
import com.base.pdfoneread.ui.views.DocumentDialog.SORT_NEW_OLD
import com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import com.base.pdfoneread.ui.views.DocumentDialog.showDocumentHomeMoreDialog
import com.base.pdfoneread.ui.views.DocumentDialog.showSortDocumentDialog
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.ui.views.PdfDialog.showPdfHomeMoreDialog
import com.base.pdfoneread.utils.BarUtils
......@@ -49,6 +52,9 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
private var adapter: DocumentAdapter? = null
private lateinit var viewModel: DocumentViewModel
var currentSortBy = SORT_BY_LAST_MODIFIED
var currentSort = SORT_NEW_OLD
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
......@@ -166,7 +172,7 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
shareSelectDocument()
}
binding.flPaixu.setOnClickListener {
showSortDocumentDialog(currentSortBy, currentSort)
}
binding.flSearch.setOnClickListener {
......
......@@ -16,6 +16,7 @@ import com.base.pdfoneread.databinding.DialogDeleteBinding
import com.base.pdfoneread.databinding.DialogDocumentDetailBinding
import com.base.pdfoneread.databinding.DialogDocumentHomeMoreBinding
import com.base.pdfoneread.databinding.DialogDocumentMoreBinding
import com.base.pdfoneread.databinding.DialogSortDocumentBinding
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.ui.views.PdfDialog.showJumpPageNumberDialog
import com.base.pdfoneread.utils.IntentShareUtils.documentShare
......@@ -198,4 +199,81 @@ object DocumentDialog {
deleteAction.invoke()
}
}
const val SORT_BY_LAST_MODIFIED = "sort_by_last_modified"
const val SORT_NEW_OLD = "sort_new_old"
const val SORT_OLD_NEW = "sort_old_new"
const val SORT_BY_NAME = "sort_by_name"
const val SORT_A_Z = "sort_a_z"
const val SORT_Z_A = "sort_z_a"
const val SORT_FILE_SIZE = "sort_file_size"
const val SORT_LARGE_SMALL = "sort_large_small"
const val SORT_SMALL_LARGE = "sort_small_large"
@SuppressLint("SetTextI18n")
fun Context.showSortDocumentDialog(sortBy: String, sort: String) {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val binding = DialogSortDocumentBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val parentView = binding.root.parent as View
val behavior = BottomSheetBehavior.from(parentView)
//展开
behavior.state = BottomSheetBehavior.STATE_EXPANDED
var tempSortBy = sortBy
var tempSort = sort
val selectSort: (selectSortBy: String, selectSort: String) -> Unit = { selectSortBy, selectSort ->
binding.ll1.isSelected = false
binding.ll2.isSelected = false
binding.ll3.isSelected = false
binding.ll4.isSelected = false
binding.ll5.isSelected = false
when (selectSortBy) {
SORT_BY_LAST_MODIFIED -> {
binding.ll1.isSelected = true
binding.ivSort1.setImageResource(R.drawable.selector_new_old)
binding.tvSort1.text = getString(R.string.from_new_to_old)
binding.ivSort2.setImageResource(R.drawable.selector_old_new)
binding.tvSort2.text = getString(R.string.from_old_to_new)
}
SORT_BY_NAME -> {
binding.ll2.isSelected = true
binding.ivSort1.setImageResource(R.drawable.selector_new_old)
binding.tvSort1.text = getString(R.string.from_new_to_old)
binding.ivSort2.setImageResource(R.drawable.selector_old_new)
binding.tvSort2.text = getString(R.string.from_old_to_new)
}
SORT_FILE_SIZE -> {
binding.ll3.isSelected = true
}
}
when (selectSort) {
SORT_NEW_OLD, SORT_A_Z, SORT_LARGE_SMALL -> {
binding.ll4.isSelected = true
}
SORT_OLD_NEW, SORT_Z_A, SORT_SMALL_LARGE -> {
binding.ll5.isSelected = true
}
}
}
selectSort.invoke(tempSortBy, tempSort)
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#FD4429" android:state_selected="true" />
<item android:color="#5D5D5D" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/pdf_size" android:state_selected="false" />
<item android:drawable="@mipmap/pdf_size2" android:state_selected="true" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/pdf_last2" android:state_selected="true" />
<item android:drawable="@mipmap/pdf_last" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/pdf_name2" android:state_selected="true" />
<item android:drawable="@mipmap/pdf_name" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/pdf_new_old" android:state_selected="false" />
<item android:drawable="@mipmap/pdf_new_old2" android:state_selected="true" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/pdf_old_new" android:state_selected="false" />
<item android:drawable="@mipmap/pdf_old_new2" android:state_selected="true" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_ffffff_tlr15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="26dp"
android:layout_marginTop="25dp"
android:text="@string/sort_by"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/ll_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="15dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:src="@drawable/selector_last_modified"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/last_modified"
android:textColor="@color/selector_color_sort"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:layout_width="20dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="36dp"
android:background="@drawable/selector_sort_check"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="15dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:src="@drawable/selector_name"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/name"
android:textColor="@color/selector_color_sort"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:layout_width="20dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="36dp"
android:background="@drawable/selector_sort_check"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="15dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:src="@drawable/selector_file_size"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/file_size"
android:textColor="@color/selector_color_sort"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:layout_width="20dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="36dp"
android:background="@drawable/selector_sort_check"
tools:ignore="ContentDescription" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="18dp"
android:background="#6C6D70" />
<LinearLayout
android:id="@+id/ll_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="15dp">
<ImageView
android:id="@+id/iv_sort_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:src="@drawable/selector_file_size"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_sort_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/file_size"
android:textColor="@color/selector_color_sort"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:layout_width="20dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="36dp"
android:background="@drawable/selector_sort_check"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="15dp">
<ImageView
android:id="@+id/iv_sort_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:src="@drawable/selector_file_size"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_sort_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/file_size"
android:textColor="@color/selector_color_sort"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:layout_width="20dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="36dp"
android:background="@drawable/selector_sort_check"
tools:ignore="ContentDescription" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -86,6 +86,10 @@
<string name="not_open">Not open</string>
<string name="click_to_view_details">Click to view details.</string>
<string name="unfinished_documents_to_read">You still have some unfinished documents to read.</string>
<string name="sort_by">Sort by</string>
<string name="file_size">File size</string>
<string name="from_new_to_old">From new to old</string>
<string name="from_old_to_new">From old to new</string>
</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