我需要创建一个 android 形状,以便只有底部有描边(虚线)。当我尝试以下操作时,笔划将形状从中心一分为二。有谁知道如何做对吗?笔划必须是底线/边框。我使用该形状作为 TextView 的背景。请不要介意我为什么需要它。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item>
<shape android:shape="line" >
<padding android:bottom="1dp" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
这有点像黑客,但我认为这可能是最好的方法。无论高度如何,虚线始终位于底部。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item android:top="-2dp" android:right="-2dp" android:left="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
解释:
第二个形状是带有虚线轮廓的透明矩形。使边框仅出现在底部的关键在于设置其他边的负边距。这些负边距将虚线“推”到这些边的绘制区域之外,只留下沿底部的线。一个潜在的副作用(我没有尝试过)是,对于在其自身边界之外绘制的视图,负边距边框可能会变得可见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)