Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: Create Android Compose Control #1475

Open
Danielku15 opened this issue May 10, 2024 · 0 comments
Open

feature: Create Android Compose Control #1475

Danielku15 opened this issue May 10, 2024 · 0 comments
Assignees
Labels
area-core Related to some core parts of alphaTab platform-android Related to the Android specific integrations state-accepted This is a valid topic to work on. type-feature 💡

Comments

@Danielku15
Copy link
Member

Danielku15 commented May 10, 2024

With Jetpack Compose there is a new paradigm of describing Android UIs. The current Android control is not properly compatible with this approach.

AlphaTab should have a direct Jetpack Compose control to not require any workarounds when using it.

Aspects to consider:

  • Instead of properties we need to use persistent states.
  • We need a slim factory function to create the alphaTab composable.
  • Unless we can reuse the current ScrollView implementations we might need to implement the whole UI Facade for compose differently.
  • We need to check how we can access the context to initialize the alphaTab internals (font, skia etc).

Good references for the key part with creating the layout component to display items.

https://www.ackee.agency/blog/custom-lazylayout-with-jetpack-compose
https://github.com/oleksandrbalan/minabox/tree/main/minabox/src/commonMain/kotlin/eu/wewox/minabox

@Danielku15 Danielku15 added type-feature 💡 state-accepted This is a valid topic to work on. platform-android Related to the Android specific integrations area-core Related to some core parts of alphaTab labels May 10, 2024
@Danielku15 Danielku15 self-assigned this May 10, 2024
@Danielku15 Danielku15 removed this from Version 1.3 May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-core Related to some core parts of alphaTab platform-android Related to the Android specific integrations state-accepted This is a valid topic to work on. type-feature 💡
Projects
Status: No status
Development

No branches or pull requests

1 participant