android - 如果高度小于 4dp,两行分隔线将变得不可见

标签 android android-layout android-drawable

我想要一个由两条平行线组成的分隔 View - 白色和灰色。我在 SO 上找到了 xml:

<?xml version="1.0" encoding="utf-8"?>

<item android:bottom="1dp">
    <shape android:shape="line" >
        <stroke
            android:width="2dp"
            android:color="@android:color/darker_gray" />

        <size android:height="1dp" />
    </shape>
</item>
<item android:top="1dp">
    <shape android:shape="line" >
        <stroke
            android:width="2dp"
            android:color="@android:color/white" />

        <size android:height="1dp" />
    </shape>
</item>

然后我像这样使用它:

<View
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:background="@drawable/divider" />

但它没有显示任何内容。我发现只有当我将高度设置为 4dp 或更大时,我的 View 才可见。但这不是我想要的。我做错了什么?

附注好吧,我可以使用两个带有 background="@android:color/white 或 darker_grey"的 View ,但我希望两个 View 仅使用一个可绘制对象来实现相同的效果。

最佳答案

将形状更改为矩形对我有用:

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

关于android - 如果高度小于 4dp,两行分隔线将变得不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893505/

相关文章:

java - fragment 中的空指针异常

java - 我想在 Android Studio 中将文件类型转换为 PdfDocument 类型

android - 启动动态 Activity 时布局发生变化

android - 在启动器应用程序上向上和向下滑动手势

android - 在android中动态添加 View

android - 在内部 View 中绘制垂直线是不可能的

Android 性能 XML Drawable vs CSS3 vs Images

android - EditText 中的 Drawable 会导致 Activity 崩溃

android - 使用 ImageView ScaleType 设置 TransitionDrawable

android - 从 Android OAuth2 访问谷歌云存储