更新界面
This commit is contained in:
3 files changed
+39
-38
No files matched your search
@@ -47,28 +47,37 @@ class SelectActionBar @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
binding.btnRevertSelection.setOnClickListener { callBack?.revertSelection() }
|
binding.btnRevertSelection.setOnClickListener { callBack?.revertSelection() }
|
||||||
binding.btnSelectActionMain.setOnClickListener { callBack?.onClickSelectBarMainAction() }
|
binding.btnSelectActionMain.setOnClickListener { callBack?.onClickSelectBarMainAction() }
|
||||||
binding.ivMenuMore.setOnClickListener { selMenu?.show() }
|
binding.ivMenuMore.addOnCheckedChangeListener { button, isChecked ->
|
||||||
|
if (isChecked) {
|
||||||
|
selMenu?.show()
|
||||||
|
}
|
||||||
|
}
|
||||||
applyNavigationBarPadding()
|
applyNavigationBarPadding()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setMainActionText(text: String) = binding.run {
|
fun setMainActionText(text: String) = binding.run {
|
||||||
btnSelectActionMain.text = text
|
btnSelectActionMain.text = text
|
||||||
btnSelectActionMain.visible()
|
btnSplit.visible()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setMainActionText(@StringRes id: Int) = binding.run {
|
fun setMainActionText(@StringRes id: Int) = binding.run {
|
||||||
btnSelectActionMain.setText(id)
|
btnSelectActionMain.setText(id)
|
||||||
btnSelectActionMain.visible()
|
btnSplit.visible()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun inflateMenu(@MenuRes resId: Int): Menu? {
|
fun inflateMenu(@MenuRes resId: Int): Menu? {
|
||||||
selMenu = PopupMenu(context, binding.ivMenuMore)
|
selMenu = PopupMenu(context, binding.ivMenuMore).apply {
|
||||||
selMenu?.inflate(resId)
|
inflate(resId)
|
||||||
binding.ivMenuMore.visible()
|
|
||||||
|
setOnDismissListener {
|
||||||
|
binding.ivMenuMore.isChecked = false
|
||||||
|
}
|
||||||
|
}
|
||||||
return selMenu?.menu
|
return selMenu?.menu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun setCallBack(callBack: CallBack) {
|
fun setCallBack(callBack: CallBack) {
|
||||||
this.callBack = callBack
|
this.callBack = callBack
|
||||||
}
|
}
|
||||||
@@ -104,15 +113,8 @@ class SelectActionBar @JvmOverloads constructor(
|
|||||||
private fun setMenuClickable(isClickable: Boolean) = binding.run {
|
private fun setMenuClickable(isClickable: Boolean) = binding.run {
|
||||||
btnRevertSelection.isEnabled = isClickable
|
btnRevertSelection.isEnabled = isClickable
|
||||||
btnRevertSelection.isClickable = isClickable
|
btnRevertSelection.isClickable = isClickable
|
||||||
btnSelectActionMain.isEnabled = isClickable
|
btnSplit.isEnabled = isClickable
|
||||||
btnSelectActionMain.isClickable = isClickable
|
btnSplit.isClickable = isClickable
|
||||||
// if (isClickable) {
|
|
||||||
// ivMenuMore.setColorFilter(primaryTextColor, PorterDuff.Mode.SRC_IN)
|
|
||||||
// } else {
|
|
||||||
// ivMenuMore.setColorFilter(disabledColor, PorterDuff.Mode.SRC_IN)
|
|
||||||
// }
|
|
||||||
ivMenuMore.isEnabled = isClickable
|
|
||||||
ivMenuMore.isClickable = isClickable
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface CallBack {
|
interface CallBack {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingHorizontal="8dp"
|
android:paddingHorizontal="8dp"
|
||||||
@@ -17,40 +18,37 @@
|
|||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:text="@string/select_all" />
|
android:text="@string/select_all" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButtonGroup
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/btn_revert_selection"
|
||||||
|
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minWidth="0dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:text="@string/revert_selection" />
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialSplitButton
|
||||||
|
android:id="@+id/btn_split"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
android:id="@+id/btn_revert_selection"
|
|
||||||
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:minWidth="0dp"
|
|
||||||
android:text="@string/revert_selection" />
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_select_action_main"
|
android:id="@+id/btn_select_action_main"
|
||||||
style="@style/Widget.Material3Expressive.Button"
|
style="?attr/materialSplitButtonLeadingFilledStyle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minWidth="0dp"
|
android:minWidth="0dp"
|
||||||
android:text="@string/app_name"
|
android:text="@string/app_name"
|
||||||
android:visibility="visible" />
|
android:visibility="visible" />
|
||||||
|
|
||||||
</com.google.android.material.button.MaterialButtonGroup>
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/iv_menu_more"
|
||||||
|
style="?attr/materialSplitButtonIconFilledStyle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/more_menu"
|
||||||
|
app:icon="@drawable/m3_split_button_chevron_avd"/>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
</com.google.android.material.button.MaterialSplitButton>
|
||||||
android:id="@+id/iv_menu_more"
|
|
||||||
android:layout_width="32dp"
|
|
||||||
android:layout_height="32dp"
|
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:padding="4dp"
|
|
||||||
android:background="?attr/selectableItemBackgroundBorderless"
|
|
||||||
android:contentDescription="@string/more_menu"
|
|
||||||
android:src="@drawable/ic_more_vert"
|
|
||||||
android:tooltipText="@string/more_menu"
|
|
||||||
android:visibility="visible"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
<item
|
<item
|
||||||
android:id="@+id/menu_clear"
|
android:id="@+id/menu_clear"
|
||||||
android:title="@string/clear"
|
android:title="@string/clear"
|
||||||
|
android:icon="@drawable/ic_clear_all"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
Reference in new issue
Block a user