布局的名称或它是如何完成的?

Name of the layout or how it's done?

简而言之,我想要一个类似于 Google Plays 的预览,您可以在其中向上滑动,顶部 image/video 预览淡出,其余视图向上移动。

我有一个视图,我想像这个例子中的视频一样隐藏起来,操作栏可以一直保持静止,但我需要底部是可拖动的。

我似乎无法找出那是哪个布局,或者它是如何完成的,我设法找到的都是不相关的,例如 ViewPager。我当前最小sdk版本是18,编译版本是21.

以下是我在我工作的应用程序中使用的代码

您必须在 ScrollView 中使用 OnScrollChanged 功能。 ActionBar 不允许您设置 opacity ,因此在 actionbar 上设置一个可绘制的背景,您可以根据滚动视图中的滚动量更改其不透明度。我给出了一个示例工作流程

函数集根据其位置 WRT 为视图 locationImage 提供适当的 alpha window。

this.getScrollY() 告诉你 scrollView 滚动了多少

public void OnScrollChanged(int l, int t, int oldl, int oldt) {
    // Code ...
    locationImage.setAlpha(getAlphaForView(locationImageInitialLocation- this.getScrollY()));
}


private float getAlphaForView(int position) {
    int diff = 0;
    float minAlpha = 0.4f, maxAlpha = 1.f;
    float alpha = minAlpha; // min alpha
    if (position > screenHeight)
        alpha = minAlpha;
    else if (position + locationImageHeight < screenHeight)
        alpha = maxAlpha;
    else {
        diff = screenHeight - position;
        alpha += ((diff * 1f) / locationImageHeight)* (maxAlpha - minAlpha); // 1f and 0.4f are maximum and min
                                            // alpha
        // this will return a number betn 0f and 0.6f
    }
    // System.out.println(alpha+" "+screenHeight +" "+locationImageInitialLocation+" "+position+" "+diff);
    return alpha;
}

您可以在 https://github.com/ramanadv/fadingActionBar

下载示例工作示例

来源:CommandSpace