2015-01-26 43 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