В AOSP Launcher3 есть оверлейная система, позволяющая отображать пользовательские виды при перелистывании главного экрана слева, который используется приложением Google для отображения канала Google.
К сожалению, нетобщедоступная документация о том, как работает эта система.
Я дошел до того, чтобы заставить работать прокрутку, но я не могу понять, как отобразить пользовательское представление.
public class FeedOverlay implements Launcher.LauncherOverlay {
private final Launcher mLauncher;
private Launcher.LauncherOverlayCallbacks mOverlayCallbacks;
public FeedOverlay(Launcher launcher) {
mLauncher = launcher;
}
@Override
public void onScrollChange(float progress, boolean rtl) {
Log.d(getClass().getName(), "onScrollChange: " + progress);
mOverlayCallbacks.onScrollChanged(progress);
}
@Override
public void onScrollInteractionBegin() {
Log.d(getClass().getName(), "onScrollInteractionBegin: scroll interaction has begin");
}
@Override
public void onScrollInteractionEnd() {
Log.d(getClass().getName(), "onScrollInteractionBegin: scroll interaction has ended");
}
@Override
public void setOverlayCallbacks(Launcher.LauncherOverlayCallbacks cb) {
mOverlayCallbacks = cb;
}
}