2015-04-02 165 views
0

這添加到SlidingTabLayout是我的XML:如何陰影底部

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <com.example.SlidingTabLayout 
     android:id="@+id/sliding_tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/actionbar_bg" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="0px" 
     android:layout_weight="1" 
     android:background="@android:color/white" /> 

</LinearLayout> 

到目前爲止,我曾嘗試:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <!-- Drop Shadow Stack --> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#70d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#60d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#50d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#40d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#30d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#20d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#10d8d8d8" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding 
       android:bottom="1dp" 
       android:left="0dp" 
       android:right="0dp" 
       android:top="0dp" /> 

      <solid android:color="#00d8d8d8" /> 
     </shape> 
    </item> 

    <!-- Background --> 
    <item> 
     <shape> 
      <solid android:color="@color/actionbar_bg" /> 

      <corners android:radius="0dp" /> 
     </shape> 
    </item> 

</layer-list> 

但是它沒有給我想要的結果,我想是這樣的:

enter image description here

+0

將高程添加到tablayout android:elevation =「2dp」 – WISHY 2015-04-02 10:26:04

+0

這將只適用於API級別21 – Skynet 2015-04-02 10:39:24

回答

0

添加簡單View之間和android.support.v4.view.ViewPager。將View的背景設置爲模仿陰影的漸變。

shadow.xml

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

編輯:如果需要應該對ViewPager頂部繪製陰影,然後在RelativeLayout移動ViewPagerView陰影的背景。 當你沒有SlidingTabLayout的來源時很好。如果您有源代碼,則可以從代碼中添加陰影繪圖,覆蓋SlidingTabLayout中的onDraw方法。

+0

該解決方案的問題在於它不透明,您的視圖在滾動時剪輯。我想要一個效果,其中陰影應用沒有裁剪部分。 – Skynet 2015-04-02 09:46:16

+0

如果您需要透明陰影,只需將漸變色添加到Alpha。 android:startColor =「#55404040」,android:endColor =「#55F1F1F1」 – 2015-04-02 09:48:50

+0

兄弟視圖仍然會剪裁,陰影需要透明和浮動,以便在視圖下方滾動的任何內容都可見,解決方案是使用框架佈局。 – Skynet 2015-04-02 09:49:55