nandorojo / zeego

Menus for React (Native) done right.
https://zeego.dev
MIT License
1.45k stars 42 forks source link

Android dropdown menu improvements #17

Closed fobos531 closed 1 year ago

fobos531 commented 1 year ago

Hey @nandorojo , want to preface this with some words of appreciation - really like this library so far - I think it will have a great future!

I was looking at the implementation and its awesome that you're using react-native-ios-context-menu which provides sooo many customization options. I was then looking at the Android counterpart of the native implementation and while it gets the job done, I don't think it looks nearly as pretty as the iOS one - that's for sure. A while ago I came across an Android native implementation which is very aesthetically pleasing and I think it might be worth considering to use for this project. I'm sure you're aware of the react-native-context-menu-view library - there's an open PR on their repo which proposes integrating that library. Would it be possible to explore the possibilities of using that library as the Android implementation for zeego? Paging @intergalacticspacehighway since they contributed to the Android implementation in this repository.

Any feedback is welcome. Thanks!

nandorojo commented 1 year ago

While that Android library is very pretty, there is no maintained React Native counterpart, so I don't think it will be a fit for this library.

As for react-native-context-menu-view, depending on its maintenance quality it could potentially be a fit for zeego/context-menu on Android if it provides extra functionality.

I was then looking at the Android counterpart of the native implementation and while it gets the job done, I don't think it looks nearly as pretty as the iOS one

Yeah, this is an unfortunate result of Android's native OS typically.

nandorojo commented 1 year ago

If someone build react-native-cascade, it could be interesting for Android.

fobos531 commented 1 year ago

Gotcha, thanks for the input! For sure, react-native-cascade would be a really interesting. It may also be worth holding on to see how the actual native android's implementation of that library holds up, i.e. if it ends up being maintained.

One other idea that crossed my mind was to see if there's any possibility to take advantage of react-native-paper's Menu implementation for Android, since it both visually looks good and follows the material design guidelines which could be said is the Apple's equivalent of UI in iOS. Though, a glaring downside compared to the current implementation is that it seems to have no support for subactions/submenus which the current Android implementation currently does.

nandorojo commented 1 year ago

In addition missing features, React Native Paper's menu approach doesn't fit the Zeego philosophy: use the best native implementation for each platform with unstyled UI primitives. The option to use React Native Paper is still out there for people, though.

nandorojo commented 1 year ago

Going to move this to a discussion, feel free to continue the conversation there!