2015-06-12 42 views
0

我想要使用線性佈局創建一個像這樣的自定義標題欄。我無法弄清楚如何在底部獲得3D/Shodow效果。有什麼建議麼?標題欄喜歡風格在android上的佈局

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item > 
     <shape 
      android:shape="rectangle"> 
      <solid android:color="@android:color/darker_gray" /> 
      <corners android:radius="0dp"/> 
     </shape> 
    </item> 
    <item android:bottom="1dp" android:top="1dp"> 
     <shape 
      android:shape="rectangle"> 
      <solid android:color="#019BD9"/> 
      <corners android:radius="0dp"/> 
     </shape> 
    </item> 
</layer-list> 
+0

你必須使用工具欄.. – Moinkhan

+0

你聽說過新的工具欄的概念,Android已經21 API發佈後這將會給你這個陰影。讓我知道你是否需要更多的幫助。 – Saraschandraa

+0

這是工具欄/ ActionBar,不要重新發明輪子,至於陰影,在API 21及更高版本上使用setElevation,對於以下API 21,使用FrameLayout的'android:foreground'標籤。您可以從github上的iosched app抓取shadow.png圖像,它位於xxhdpi文件夾中。 – Skynet

回答

1

要使用工具欄只是將它加入你的佈局。

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/color_alizarin" 
     android:titleTextAppearance="@color/White" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

將其作爲mToolBar在java文件中引用。

,並做小碼

setSupportActionbar(mToolBar); 

注:setSupportActionbar()只有在當你擴展ActionBarActivity或AppCompactActivity。而不是唯一的活動

[另類]

如果你不想去的工具欄。 只需在下面的視圖中添加你想要的陰影。

<View 
     android:layout_width="match_parent" 
     android:layout_height="5dp" 
     android:background="@drawable/toolbar_dropshadow" /> 

,這裏是toolbar_dropshadow繪製

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
<gradient 
    android:startColor="@android:color/transparent" 
    android:endColor="#88333333" 
    android:angle="90"/> 
</shape> 
+0

看到我的替代解決方案。我希望它有幫助。 – Moinkhan

+0

謝謝,我的問題是如何顯示深度。不是如何遮擋酒吧。我認爲上面顯示的圖像中的條紋是純色的 – pats

+0

好吧,我的第二個替代解決方案不適用於工具欄。您可以將LinearLayout的視圖底部放到要顯示深度的位置。 – Moinkhan

1

您可以集成appcompact

<android.support.v7.widget.Toolbar 
    android:id=」@+id/my_awesome_toolbar」 
    android:layout_height=」wrap_content」 
    android:layout_width=」match_parent」 
    android:minHeight=」?attr/actionBarSize」 
    android:background=」?attr/colorPrimary」 /> 

http://android-developers.blogspot.ro/2014/10/appcompat-v21-material-design-for-pre.html

+0

陰影怎麼樣? – Skynet

+0

感謝您的回覆。標題欄不會幫助我。我打算在不同的地方使用同一個酒吧作爲標題樣式,而不僅僅是頂部的標題欄。所以需要線性佈局的樣式解決方案 – pats

+0

嗯......你們都確定?因爲我認爲這不是最佳做法。要在屏幕中間或其他位置顯示類似標題欄的組件,可能會混淆用戶。請檢查設計師或與你的客戶爲什麼他們真的需要這個 –