mirror of
https://github.com/SimpleMobileTools/Simple-Launcher.git
synced 2025-02-16 19:40:41 +01:00
reuse the main anchor for showing PopupMenu at AllAppsFragment
This commit is contained in:
parent
9fba3b56d6
commit
9321db3cec
@ -234,7 +234,7 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
val clickedGridItem = home_screen_grid.isClickingGridItem(getGridTouchedX(x), getGridTouchedY(y))
|
val clickedGridItem = home_screen_grid.isClickingGridItem(getGridTouchedX(x), getGridTouchedY(y))
|
||||||
if (clickedGridItem != null) {
|
if (clickedGridItem != null) {
|
||||||
mLongPressedIcon = clickedGridItem
|
mLongPressedIcon = clickedGridItem
|
||||||
showHomeIconMenu(x, y, clickedGridItem.packageName)
|
showHomeIconMenu(x, y - resources.getDimension(R.dimen.icon_long_press_anchor_offset_y), clickedGridItem.packageName)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,15 +254,15 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
|
|
||||||
private fun getGridTouchedY(y: Float) = Math.min(Math.max(y.toInt() - home_screen_grid.marginTop, 0), home_screen_grid.height).toInt()
|
private fun getGridTouchedY(y: Float) = Math.min(Math.max(y.toInt() - home_screen_grid.marginTop, 0), home_screen_grid.height).toInt()
|
||||||
|
|
||||||
private fun showHomeIconMenu(x: Float, y: Float, clickedPackageName: String) {
|
fun showHomeIconMenu(x: Float, y: Float, clickedPackageName: String) {
|
||||||
home_screen_popup_menu_anchor.x = x
|
home_screen_popup_menu_anchor.x = x
|
||||||
home_screen_popup_menu_anchor.y = y - resources.getDimension(R.dimen.long_press_anchor_offset_y)
|
home_screen_popup_menu_anchor.y = y
|
||||||
mOpenPopupMenu = handleGridItemPopupMenu(home_screen_popup_menu_anchor, clickedPackageName)
|
mOpenPopupMenu = handleGridItemPopupMenu(home_screen_popup_menu_anchor, clickedPackageName)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showMainLongPressMenu(x: Float, y: Float) {
|
private fun showMainLongPressMenu(x: Float, y: Float) {
|
||||||
home_screen_popup_menu_anchor.x = x
|
home_screen_popup_menu_anchor.x = x
|
||||||
home_screen_popup_menu_anchor.y = y - resources.getDimension(R.dimen.long_press_anchor_offset_y)
|
home_screen_popup_menu_anchor.y = y - resources.getDimension(R.dimen.home_long_press_anchor_offset_y)
|
||||||
val contextTheme = ContextThemeWrapper(this, getPopupMenuTheme())
|
val contextTheme = ContextThemeWrapper(this, getPopupMenuTheme())
|
||||||
PopupMenu(contextTheme, home_screen_popup_menu_anchor, Gravity.TOP or Gravity.END).apply {
|
PopupMenu(contextTheme, home_screen_popup_menu_anchor, Gravity.TOP or Gravity.END).apply {
|
||||||
inflate(R.menu.menu_home_screen)
|
inflate(R.menu.menu_home_screen)
|
||||||
|
@ -49,11 +49,13 @@ class LaunchersAdapter(
|
|||||||
override fun getItemCount() = launchers.size
|
override fun getItemCount() = launchers.size
|
||||||
|
|
||||||
private fun calculateIconWidth() {
|
private fun calculateIconWidth() {
|
||||||
val currentColumnCount = if (activity.portrait) {
|
val currentColumnCount = activity.resources.getInteger(
|
||||||
activity.resources.getInteger(R.integer.portrait_column_count)
|
if (activity.portrait) {
|
||||||
} else {
|
R.integer.portrait_column_count
|
||||||
activity.resources.getInteger(R.integer.landscape_column_count)
|
} else {
|
||||||
}
|
R.integer.landscape_column_count
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
val iconWidth = activity.realScreenSize.x / currentColumnCount
|
val iconWidth = activity.realScreenSize.x / currentColumnCount
|
||||||
iconPadding = (iconWidth * 0.1f).toInt()
|
iconPadding = (iconWidth * 0.1f).toInt()
|
||||||
|
@ -13,7 +13,6 @@ import com.simplemobiletools.launcher.R
|
|||||||
import com.simplemobiletools.launcher.activities.MainActivity
|
import com.simplemobiletools.launcher.activities.MainActivity
|
||||||
import com.simplemobiletools.launcher.adapters.LaunchersAdapter
|
import com.simplemobiletools.launcher.adapters.LaunchersAdapter
|
||||||
import com.simplemobiletools.launcher.extensions.getColumnCount
|
import com.simplemobiletools.launcher.extensions.getColumnCount
|
||||||
import com.simplemobiletools.launcher.extensions.handleGridItemPopupMenu
|
|
||||||
import com.simplemobiletools.launcher.extensions.launchApp
|
import com.simplemobiletools.launcher.extensions.launchApp
|
||||||
import com.simplemobiletools.launcher.interfaces.AllAppsListener
|
import com.simplemobiletools.launcher.interfaces.AllAppsListener
|
||||||
import com.simplemobiletools.launcher.models.AppLauncher
|
import com.simplemobiletools.launcher.models.AppLauncher
|
||||||
@ -122,8 +121,6 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onIconLongPressed(x: Float, y: Float, packageName: String) {
|
override fun onIconLongPressed(x: Float, y: Float, packageName: String) {
|
||||||
all_apps_popup_menu_anchor.x = x
|
activity?.showHomeIconMenu(x, y, packageName)
|
||||||
all_apps_popup_menu_anchor.y = y
|
|
||||||
activity?.handleGridItemPopupMenu(all_apps_popup_menu_anchor, packageName)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,4 @@
|
|||||||
app:spanCount="@integer/portrait_column_count" />
|
app:spanCount="@integer/portrait_column_count" />
|
||||||
|
|
||||||
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
|
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/all_apps_popup_menu_anchor"
|
|
||||||
android:layout_width="1dp"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</com.simplemobiletools.launcher.fragments.AllAppsFragment>
|
</com.simplemobiletools.launcher.fragments.AllAppsFragment>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<dimen name="launcher_icon_size">55dp</dimen>
|
<dimen name="launcher_icon_size">55dp</dimen>
|
||||||
<dimen name="long_press_anchor_offset_y">70dp</dimen>
|
<dimen name="icon_long_press_anchor_offset_y">100dp</dimen>
|
||||||
|
<dimen name="home_long_press_anchor_offset_y">50dp</dimen>
|
||||||
<dimen name="widget_preview_size">140dp</dimen>
|
<dimen name="widget_preview_size">140dp</dimen>
|
||||||
<dimen name="icon_side_margin">10dp</dimen>
|
<dimen name="icon_side_margin">10dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user