第一个基本上是一个常规的ActionBar,其布局包含两个并排的自定义微调器,就在它的正下方。 ActionBar 的底部阴影已通过将以下行添加到应用程序主题(在 res/values/styles 中)将 windowContentOverlay 属性设置为 null 来禁用:
<item name="android:windowContentOverlay">@null</item>
您还会注意到包含微调器的布局底部有一个微妙的阴影。这可以通过在 xml 中创建一个带有渐变的可绘制形状来添加。此渐变设置为具有 270 度角,具有深色起始颜色和浅色/透明结束颜色(也可以包括中间颜色)。现在,您可以在微调器容器下添加View,如下所示:
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@drawable/<name_of_your_shape_drawable"/>
现在,来到第二张图,我们可以清楚地看到ActionBar覆盖模式已启用,可以通过在应用主题中添加以下行来完成:
<item name="android:windowActionBarOverlay">true</item>
如果您只希望特定活动具有覆盖ActionBar,则可以在setContentView 之前添加以下行:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
转到顶部图像的视差效果,您首先需要获取滚动视图/列表视图的 yScroll 值(以像素为单位),然后简单地将 ImageView 转换为 yScroll 值的一半:
imageView.setTranslationY((float) (yScroll/2));
请参阅此链接以从 ScrollView 获取滚动值:http://cyrilmottier.com/2013/05/24/pushing-the-actionbar-to-the-next-level/
我不太确定最后一点涉及到动画以在标题布局触及ActionBar 时为它着色。可能需要查看源代码。