Android 如何在顶部放置一条有深度的水平除数线

Android 如何在顶部放置一条有深度的水平除数线,android,user-interface,Android,User Interface,我正在为我的应用程序制作一个活动,我必须用一条线划分窗口的一些部分。我想这样做: 我只在XML布局的视图中使用了android:elevation=“2dp: <View android:layout_width="fill_parent" android:layout_height="12dip" android:layout_marginTop="15dp" android:background="#E0E0E0"

我正在为我的应用程序制作一个活动,我必须用一条线划分窗口的一些部分。我想这样做:

我只在XML布局的视图中使用了
android:elevation=“2dp

<View
        android:layout_width="fill_parent"
        android:layout_height="12dip"
        android:layout_marginTop="15dp"
        android:background="#E0E0E0"
        android:elevation="2dp"
        />


但这只会在底部增加深度。

较高的高程值也会在视图顶部增加一些阴影

如果您希望顶部有更多的“阴影”,可以使用自定义的XML绘制来模拟它,该XML可绘制为白色背景,顶部边框为灰色,尺寸非常小(如果您不喜欢实线,也可以使用渐变):


如果它是一个
视图组
,你也可以添加一个
视图
,该视图的高度值很小,正好与顶部对齐,背景为灰色或渐变色。这样做比较简单,但布局性能也有点脏,更差

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Background -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
        </shape>
    </item>
    <!-- Top "line" -->
    <item android:gravity="top">
        <shape android:shape="rectangle">
            <size android:height="1dp" />
            <solid android:color="#ccc"/>
        </shape>
    </item>
</layer-list>