的影子,我希望像影子一樣,當你得到它:設置佈局
android:background="@android:drawable/dialog_holo_light_frame"
有誰知道從這個源代碼嗎? 或者我如何才能做到這一點,我只有我的佈局底部的陰影,而不是在它周圍?
的影子,我希望像影子一樣,當你得到它:設置佈局
android:background="@android:drawable/dialog_holo_light_frame"
有誰知道從這個源代碼嗎? 或者我如何才能做到這一點,我只有我的佈局底部的陰影,而不是在它周圍?
有兩路:
1)添加shadow.xml或shadow.png您繪製並在佈局中使用它
shadow.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:bottom="8dp">
<shape android:shape="rectangle" >
<size android:height="1dp" />
<solid android:color="#43000000" />
</shape>
</item>
<item android:top="1dp">
<shape
android:dither="true"
android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#00000000"
android:startColor="#10000000" />
<size android:height="8dp" />
</shape>
</item>
</layer-list>
例如your_layout.xml的:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/shadow"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
</LinearLayout>
2)另一種方式是解決方法
大部分的陰影其實都在視圖的下方,一個微妙的陰影也在上面。解決方法可能會使用非常高的值來提升高度,例如40dp:由於您的佈局,底部部分將隱藏起來,而頂部將被展開並看起來像一個共同的陰影。
無論哪種情況,您都無法控制dp中的高程值,因爲您無法確定您的影子與android:elevation = 4dp投射的影子相同。
這不是一個真正的影子 – David
另一個選項是設置card_view:cardElevation在cardview android – user7439667
從下面的鏈接可以使用9 Patch Shadow Generator作爲佈局的背景。
shadow.xml
<?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="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#00AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#10AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#20AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#30AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<solid android:color="#50AAAAAA" />
<corners android:radius="3dp" />
</shape>
</item>
<!-- Background -->
<item>
<shape>
<solid android:color="@android:color/white" />
<corners android:radius="3dp" />
</shape>
</item>
以此爲這樣整個佈局的背景:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/shadow"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<---Describe your whole layout here>
</LinearLayout>
使用此背景提供一些底部填充。它會給你帶來陰影效果 –
[This](https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable-mdpi/dialog_full_holo_light.9.png)是你正在尋找的drawable 。 –