总之我想类似谷歌播放,您可以向上滑动和顶部图像/视频预览变淡背部和视图的其余部分向上移动的预览。
我已经得到了我想要被隐伏就像这个例子的视频来看,操作栏可以在任何时候都保持静止,但我需要的底部是dragable。
我似乎无法找出哪些布局是,或者它是怎么做的,所有我设法找到了不相关的,如ViewPager。 我现在分钟SDK版本是18,编译版本是21。
总之我想类似谷歌播放,您可以向上滑动和顶部图像/视频预览变淡背部和视图的其余部分向上移动的预览。
我已经得到了我想要被隐伏就像这个例子的视频来看,操作栏可以在任何时候都保持静止,但我需要的底部是dragable。
我似乎无法找出哪些布局是,或者它是怎么做的,所有我设法找到了不相关的,如ViewPager。 我现在分钟SDK版本是18,编译版本是21。
以下是我在应用程序中使用的代码,我的工作
你将不得不使用OnScrollChanged
功能在你的ScrollView
。 动作条不会让你设置不透明度,所以设置在动作条背景绘制,你可以根据滚动的滚动视图量改变其透明度。 我给一个工作流程示例
所述函数集给出了基于其位置WRT窗口上的视图locationImage适当的α。
this.getScrollY()
为您提供了滚动了多少滚动
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