Как я могу добавить пользовательский оверлей к AOSP Launcher3? - PullRequest
0 голосов
/ 04 июля 2019

В 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;
    }
}
...