如何在 Android 中为页眉和带有渐变背景的正文提供阴影
How to give dropshadow for header and where body with gradient background in Android
我的 android 项目中有两个布局。在第一个布局中
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity"
android:orientation="horizontal"
android:background="@drawable/gradient"
>
<View
android:layout_width="13dp"
android:layout_height="fill_parent"
android:background="@drawable/shadow_left" />
</LinearLayout>
Shadow_Left.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#385469"
android:endColor="#316a84"
android:angle="180"
>
</gradient>
</shape>
对于下一个布局,我尝试了以下代码。
enter image description here
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@android:color/black"
>
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_alignParentBottom="true"
android:background="@android:color/holo_blue_light" />
</RelativeLayout>
<View
android:layout_width="wrap_content"
android:layout_height="8dp"
android:background="@drawable/shadow_top"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_right"
android:orientation="horizontal"
>
shadow_top.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#385469"
android:endColor="@android:color/transparent"
android:angle="270"
>
</gradient>
</shape>
但是它给了我一个白色的末端而不是透明的末端。当我在那里使用 png 阴影图像时,输出相同。在这两种情况下,透明端都被白色端所取代。如何实现第二张图片的输出?
因为您的 View
在 LinearLayout
之上,所以如果您的 View
是透明的,您将看到 LinearLayout
图片中的白色是 LinearLayout
.
的颜色
要查看此效果,您可以更改 LinearLayout
颜色
我的 android 项目中有两个布局。在第一个布局中
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity"
android:orientation="horizontal"
android:background="@drawable/gradient"
>
<View
android:layout_width="13dp"
android:layout_height="fill_parent"
android:background="@drawable/shadow_left" />
</LinearLayout>
Shadow_Left.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#385469"
android:endColor="#316a84"
android:angle="180"
>
</gradient>
</shape>
对于下一个布局,我尝试了以下代码。 enter image description here
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@android:color/black"
>
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_alignParentBottom="true"
android:background="@android:color/holo_blue_light" />
</RelativeLayout>
<View
android:layout_width="wrap_content"
android:layout_height="8dp"
android:background="@drawable/shadow_top"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_right"
android:orientation="horizontal"
>
shadow_top.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#385469"
android:endColor="@android:color/transparent"
android:angle="270"
>
</gradient>
</shape>
但是它给了我一个白色的末端而不是透明的末端。当我在那里使用 png 阴影图像时,输出相同。在这两种情况下,透明端都被白色端所取代。如何实现第二张图片的输出?
因为您的 View
在 LinearLayout
之上,所以如果您的 View
是透明的,您将看到 LinearLayout
图片中的白色是 LinearLayout
.
要查看此效果,您可以更改 LinearLayout
颜色