我正在尝试使用扩展 ShapeDrawable 的类来绘制一个带有边框的圆角矩形(请参阅here https://stackoverflow.com/questions/2145131/trying-to-draw-a-button-how-to-set-a-stroke-color-and-how-to-align-a-gradient/3663956#3663956)并且一切正常,除了 shapedrawable 似乎切断了一些边界,因为形状本身不会延伸到这些边界之外。
是否没有某种方法可以偏移 shapedrawable 开始绘制的位置,以便形状本身和画布的边界之间有一些填充?我已经尝试将 ShapeDrawable.setBounds 和 ShapeDrawable.setPadding 都设置为大于形状的固有大小,但似乎没有任何进展。我应该子类化吗Drawable反而?
您可以使用 inset (inset shape.xml) 包装您的 shapedrawable:
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/your_shape_drawable" android:insetBottom="10dip"
android:insetLeft="10dip" android:insetRight="10dip" android:insetTop="10dip"
android:visible="true" />
然后只需使用插图形状根据您的需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)