我有一个自定义类,它围绕图像的左上角和右下角,其中radius.xml中的半径定义为50dp。角落看起来很整洁但是我需要在其上应用各种状态,例如当用户按下图像时需要边框。
我的问题是我在圆角图像的顶部应用的drawable显示与剪切图像的半径不同,即使是那些使用相同半径属性的半径。
之前有没有人遇到过这个问题,如果有的话你是如何克服这个问题的呢?
作为额外的注意事项,背后的背景可以是动态的(图像或颜色),因此在这种情况下简单地在边框周围应用颜色是行不通的。
感谢您的时间。
罗布。
答案 0 :(得分:0)
可绘制半径似乎受到行程厚度的影响。 下面的图层列表显示了两条不同的曲线,即使它们具有相同的半径
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:topLeftRadius="75dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
/>
<size
android:width="200dp"
android:height="200dp" />
<stroke
android:width="1dp"
android:color="#00FF00"
/>
</shape>
</item>
<item >
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:topLeftRadius="75dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
/>
<size
android:width="200dp"
android:height="200dp" />
<stroke
android:width="8dp"
android:color="#BC9611"
/>
</shape>
</item>
</layer-list>