parent
af05c34da3
commit
9f8046324d
@ -0,0 +1,37 @@
|
||||
package eu.kanade.tachiyomi.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.MenuInflater
|
||||
import android.view.View
|
||||
import android.widget.FrameLayout
|
||||
import androidx.annotation.MenuRes
|
||||
import androidx.appcompat.widget.ActionMenuView
|
||||
import eu.kanade.tachiyomi.R
|
||||
import kotlinx.android.synthetic.main.common_bottom_action_menu.view.bottom_menu
|
||||
import kotlinx.android.synthetic.main.common_bottom_action_menu.view.bottom_menu_bar
|
||||
|
||||
class BottomActionMenu @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
||||
FrameLayout(context, attrs) {
|
||||
|
||||
init {
|
||||
inflate(context, R.layout.common_bottom_action_menu, this)
|
||||
}
|
||||
|
||||
fun show(menuInflater: MenuInflater, @MenuRes menuRes: Int, listener: ActionMenuView.OnMenuItemClickListener) {
|
||||
// Avoid re-inflating the menu
|
||||
if (bottom_menu.menu.size() == 0) {
|
||||
menuInflater.inflate(menuRes, bottom_menu.menu)
|
||||
bottom_menu.setOnMenuItemClickListener(listener)
|
||||
}
|
||||
|
||||
bottom_menu_bar.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
fun hide() {
|
||||
bottom_menu_bar.visibility = View.GONE
|
||||
|
||||
bottom_menu.setOnMenuItemClickListener(null)
|
||||
bottom_menu.menu.clear()
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
<?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"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/bottom_menu_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="?attr/colorPrimary"
|
||||
android:theme="?attr/actionBarTheme"
|
||||
android:visibility="gone"
|
||||
app:contentInsetStart="8dp"
|
||||
app:contentInsetEnd="8dp">
|
||||
|
||||
<androidx.appcompat.widget.ActionMenuView
|
||||
android:id="@+id/bottom_menu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
|
||||
</FrameLayout>
|
Loading…
Reference in new issue