【问题标题】:Implement material design from Google I/O 2014 app [closed]从 Google I/O 2014 应用程序实施材料设计 [关闭]
【发布时间】:2014-11-02 12:28:49
【问题描述】:

我真的很喜欢 Google I/O 2014 应用程序中的新材料设计,我想在我的应用程序中实现一些。我一直在尝试查看源代码,但无法弄清楚如何实现,所以我的问题是是否有人知道是否有一些更简单的示例? 我有两个设计我介意,第一个是有一个这样的操作栏: 看起来我有两个微调器的大 acionbar。

https://dl.dropboxusercontent.com/u/68771663/2014-09-09%2008.46.13.png

第二个是这个:

https://dl.dropboxusercontent.com/u/68771663/2014-09-09%2008.46.41.png

我猜这个答案有点棘手..

【问题讨论】:

    标签: android material-design googleio


    【解决方案1】:

    第一个基本上是一个常规的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 时为它着色。可能需要查看源代码。

    【讨论】:

    • 谢谢,看起来很棒!我确实尝试在操作栏下方放置一个带有微调器的布局,但它看起来不太好,因为底部的阴影。但现在我知道该怎么做了!我要研究那个链接,看起来是一个好的开始。动作栏的颜色动画真的很漂亮!
    • 如果您认为我的回复解决了您的问题,请将其标记为答案。
    猜你喜欢
    • 2017-10-21
    • 2015-08-02
    • 2015-02-10
    • 2014-08-27
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    相关资源
    最近更新 更多