2015-01-26 41 views
0

我正在使用材料设计指南的某些功能进行Android-L-test-app。我试图实现一个工具栏,其中的图标顶部静态。静态工具栏图标ontop

它是在谷歌IO 2014年应用程序完成,我想复制它。我一直在寻找代码(https://github.com/google/iosched),但我无法弄清楚他们是如何做到的。

这里有想象我的问题的屏幕截图: http://imgur.com/Wa7wi88

左侧:我的实际情况的截图(菜单图标很难在头部,并用这些滚动) 右侧:这是我想拥有(在屏幕的顶部的 “静态” 图标“):

任何想法

layout.xml:

 <include layout="@layout/toolbar_actionbar" /> 

     <!-- Session title --> 
     <TextView android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:layout_marginBottom="0dp" 
      android:layout_marginLeft="@dimen/keyline_2_session_detail" 
      android:layout_marginRight="@dimen/keyline_1" 
      android:text="@string/placeholder_session_title" 
      android:id="@+id/session_title" 
      android:maxLines="4" 
      android:ellipsize="end" 
      android:textSize="@dimen/text_size_large" 
      android:lineSpacingMultiplier="1.1" 
      android:textStyle="@integer/font_textStyle_medium" 
      android:fontFamily="@string/font_fontFamily_medium" 
      android:textColor="@color/body_text_1_inverse" /> 
     <!--android:textAlignment="viewStart" --> 


     <!-- Session subtitle --> 
     <TextView android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:layout_marginLeft="@dimen/keyline_2_session_detail" 
      android:layout_marginRight="@dimen/keyline_1" 
      android:text="@string/placeholder_session_subtitle" 
      android:id="@+id/session_subtitle" 
      android:maxLines="2" 
      android:ellipsize="end" 
      android:textSize="16sp" 
      android:textColor="@color/body_text_2_inverse" /> 
      <!--android:textAlignment="viewStart" --> 

    </LinearLayout> 

布局toolbar_actionbar.xml

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:iosched="http://schemas.android.com/apk/res-auto" 
    iosched:theme="@style/ActionBarThemeOverlay" 
    iosched:popupTheme="@style/ActionBarPopupThemeOverlay" 
    android:id="@+id/toolbar_actionbar" 
    android:background="@null" 
    iosched:titleTextAppearance="@style/ActionBar.TitleText" 
    iosched:contentInsetStart="0dp" 
    android:layout_width="match_parent" 
    android:layout_height="?actionBarSize" 
/> 

menu.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:iosched="http://schemas.android.com/apk/res-auto"> 
<item android:id="@+id/menu_map_room" 
    android:icon="@drawable/ic_action_map" 
    android:title="@string/description_map" 
    android:orderInCategory="1" 
    iosched:showAsAction="ifRoom" /> 
<item android:id="@+id/menu_share" 
    android:icon="@drawable/ic_action_share" 
    android:title="@string/description_share" 
    android:orderInCategory="1" 
    iosched:showAsAction="ifRoom" /> 
<item android:id="@+id/menu_social_stream" 
    android:icon="@drawable/ic_action_social_stream" 
    android:title="@string/description_social_stream" 
    android:orderInCategory="1" 
    android:visible="true" 
    iosched:showAsAction="ifRoom" /> 

回答

0

您可以添加的主要内容为滚动视图和工具栏出来。然后,当您滚动它时,您应该使用淡化效果。

  1. 的RelativeLayout里面RelativeLayout的所有屏幕
  2. 工具栏对齐父顶部,是透明的。
  3. ScrollView里面的RelativeLayout到所有屏幕。
  4. 工具栏从透明到你的主题颜色,当你scrolldown X距离你的scrollView和viceversa。

您可以用Java以便让colorPrimary或​​colorPrimaryDark:

  TypedValue typedValue = new TypedValue(); 
      MainActivity.this.getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true); 
      final int color = typedValue.data; 
+0

它不是那么容易,因为它听起来像... :) – 2015-01-27 00:45:47

+0

其实我有工具栏等等,除了淡化效果。我第一次使用工具栏时,我把它放在scrollview中的问题与你相同。 – Dahnark 2015-01-27 00:47:21