图层列表中心项目未达到全高

时间:2017-03-23 15:37:18

标签: android-layout android-imageview android-drawable

我有一个图层列表,开头有一个椭圆,中间有一条线,末尾有一个矩形;展位椭圆形和矩形有8dpx8dp和线我一直在尝试使用没有高度或32dp的高度x 8dp宽度

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:gravity="top"
            android:bottom="40dp"
            android:top="0dp">
            <shape android:shape="oval">
                <solid android:color="@color/colorAccent" />
                <size android:width="8dp" android:height="8dp"
                    />
            </shape>
        </item>
        <item
            android:top="0dp"
            android:bottom="0dp"
            >
        <rotate
            android:fromDegrees="90"
            android:toDegrees="90">
            <shape
                android:shape="line">
                <stroke
                    android:width="1dp"
                    android:color="#ff00ff"
                    android:dashWidth="1dp"
                    android:dashGap="2dp"
                    />
                <size android:width="8dp"
                    />
            </shape>
        </rotate>
        </item>
        <item
            android:gravity="bottom"
            android:top="40dp"
            android:bottom="0dp">
            <shape android:shape="rectangle">
                <solid android:color="@color/colorAccent" />
                <size android:width="8dp" android:height="8dp"
                    />
            </shape>
        </item>

</layer-list>

这是我正在显示它的ImageView。

<ImageView
                    android:layout_width="8dp"
                    android:layout_height="@dimen/image_large"
                    android:src="@drawable/place_selector_left_image"
                    android:layout_gravity="center_vertical"
                    />

但它没有按预期工作,线路没有占据我指定的全部高度。

enter image description here

1 个答案:

答案 0 :(得分:0)

似乎当我创建的线条是水平的,所以它只能占用容器的宽度,而当我旋转它时,它不是&#39;我想要的高度,我在项目上添加了左右偏移。 这是我的最终代码。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:bottom="40dp"
        android:top="0dp">
        <shape android:shape="oval">
            <solid android:color="@color/colorAccent" />
            <size
                android:width="8dp"
                android:height="8dp" />
        </shape>
    </item>
    <item
        android:bottom="8dp"
        android:top="8dp"
        android:right="-32dp"
        android:left="-32dp">
        <rotate xmlns:android="http://schemas.android.com/apk/res/android"
            android:fromDegrees="90"
            android:toDegrees="90">
            <shape
                android:shape="line">
                <stroke
                    android:width="1dp"
                    android:color="#ff00ff"
                    android:dashWidth="1dp"
                    android:dashGap="2dp" />
                <size android:width="8dp"
                    android:height="32dp"
                    />
            </shape>
        </rotate>
    </item>

    <item
        android:bottom="0dp"
        android:top="40dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/colorAccent" />
            <size
                android:width="8dp"
                android:height="8dp" />
        </shape>
    </item>
</layer-list>