-
Notifications
You must be signed in to change notification settings - Fork 188
Demo
The app module in the repository is a full sample and
regression harness: one page per capability, one page per historical issue. Install it and click
through them.
git clone https://github.com/Petterpx/FloatingX.git
cd FloatingX
./gradlew app:installDebug # install the demo
adb logcat | grep "Fx-" # watch the logThere is a log only if the config called enableLog(tag) (the demo uses Fx-demo); without it the
library is completely silent. None of the demo Activities declare configChanges, so rotation goes
through recreate — which is exactly what makes "the window is still there afterwards" verifiable.
| Page | Content |
|---|---|
AppHostActivity |
App-level window: anchor / margin / overflow / safeArea / adsorption / content / animation / attachedActivity
|
SystemHostActivity |
System window: the three permission strategies, layoutParams customisation, retryPermission, keyboard / back key, install from a foreground Service |
ScopeHostActivity |
The three local hosts: ViewGroup / Activity / Fragment |
GestureActivity |
Drag mode / drag region / child priority / pass-through / callback log |
LayoutActivity |
Anchor / overflow / adsorption / content size / position persistence |
MultiWindowActivity |
Multiple windows by tag, controls(), reinstalling over a tag |
ModalActivity |
Modal touch interception, dismiss on outside touch, a window above a Dialog |
ComposeActivity / ComposeSecondActivity
|
Compose window: viewModel() / rememberSaveable / stateFlow / positionFlow / across pages |
SecondActivity |
Page change: the container is moved silently, state and position do not restart |
BlackActivity |
Blacklisted page (the window disappears) |
ImmersedActivity |
Immersive page (edge-to-edge, no status bar) for safeArea |
Named after the issue; each one covers a historical problem 3.0 fixed. See Issue Coverage for the full matrix.
| Page | Issue |
|---|---|
Issue187Activity |
#187 anchor stays put when the content resizes |
Issue210Activity |
#210 Compose window survives page changes |
Issue221Activity |
#221 blacklist hits subclasses |
Issue240Activity |
#240 no clipping when overflowing |
Issue244Activity |
#244 window inside a Fragment |
Every global window is installed in one place, demo/DemoWindows.kt, and the page buttons only
operate on FxControl — so if you want a working install config to copy, that file is all you need.
The Java sample lives in demo/java/JavaDemo.java: the three buttons in the "Java" group on the home
page map to its three methods, writing all three kinds of window with Java builders to keep the
public API Java-friendly.
Start at Getting Started, see the issue matrix in Issue Coverage, or go back to Home.