2015-09-15 135 views
0

我特林使阴影周围的LinearLayout像使图像的下方(上方):如何在LinearLayout周围制作阴影?

enter image description here

我真的使用层列表与形状,而是由白色区域中的所有底部阴影owerlapping(见上文图像) 。所有这些视图看起来像:

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

<LinearLayout 
    android:id="@+id/listView_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="45dp" 
    android:background="@color/text_white"> 
<!-- ListView to be shown on widget --> 
     <ListView 
      android:id="@+id/listViewWidget" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 

     <!-- Empty view is show if list items are empty --> 
     <TextView 
      android:id="@+id/empty_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center" 
      android:textColor="#ffffff" 
      android:textSize="20sp" 
      android:visibility="gone" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:id="@+id/widget_toolbar" 
    android:orientation="vertical" 
    android:background="@drawable/layout_card_view"/> 

</FrameLayout> 

如何做到这一点?使用可绘制

回答

0

尝试......

<?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="#CABBBBBB"/> 
      <corners android:radius="2dp" /> 
     </shape> 
    </item> 

    <item 
     android:left="0dp" 
     android:right="0dp" 
     android:top="0dp" 
     android:bottom="2dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/white"/> 
      <corners android:radius="2dp" /> 
     </shape> 
    </item> 
</layer-list> 
+0

不幸的是,它不是合适的 –

1

阴影效果:

1)创建一个阴影9修补图像。

2)将9补丁图像设置为布局背景。

使用此generator创建9个补丁阴影图像。

0

您可以使用此1日的方式

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

    <item><layer-list> 
     <item android:right="7dp" android:top="3dp"><shape> 


     </shape></item> 
     <item ><shape> 
     <gradient android:angle="270" android:endColor="#FFFFFF" android:startColor="#BABABA" /> 
      <padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" /> 
     </shape></item> 

    </layer-list></item> 

</layer-list> 

第二方式

您可以使用9补丁图像。

+0

不幸的是,它是不合适的 –

0

添加ll_shadow.xml文件res/drawable

<?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="5dp"/> 
    </shape> 
    </item> 
    <item android:right="1dp" android:left="1dp" android:bottom="2dp"> 
    <shape 
     android:shape="rectangle"> 
    <solid android:color="@android:color/white"/> 
    <corners android:radius="5dp"/> 
    </shape> 
    </item> 
</layer-list> 

使用

<LinearLayout 
    android:background="@drawable/ll_shadow"/> 
+0

不幸的是,也不合适 –

+0

请注明原因。 – Dev

+0

我可以向您发送一些代码,以指定我的问题吗? –

2

您必须使用,这个例子有阴影和项目背景白色,你可以使用和调整自己的喜好。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- Drop Shadow Stack --> 
    <item> 
     <shape> 
      <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" /> 
      <solid android:color="#00CCCCCC" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" /> 
      <solid android:color="#10CCCCCC" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" /> 
      <solid android:color="#20CCCCCC" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" /> 
      <solid android:color="#30CCCCCC" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" /> 
      <solid android:color="#50CCCCCC" /> 
     </shape> 
    </item> 

    <!-- Background --> 
    <item> 
     <shape> 
      <solid android:color="#FFF" /> 
      <corners android:radius="3dp" /> 
     </shape> 
    </item> 
</layer-list> 

你可以添加更多的阴影你需要的。检查每一个颜色。

+0

不幸的是,这是不适当的 –

相关问题