我遇到了一个我不知道如何解决的问题.如果可以,请你帮助我.在我的应用程序中,我必须创建一个自定义视图扩展视图.在这个视图中,我应该绘制很多矩形,然后通过canvas.drawRect或canvas.drawRoundRect创建它们.很明显.但我想创建这些矩形的复合设计(有渐变,角落,填充等),我想用XML执行这些设置(渐变,角落,填充等).我该怎么做?问题是我在XML中确定形状我只能将此drawable用作背景,但是当我绘制一个矩形时,我无法为矩形设置背景.也许还有另一种方法可以解决这个问题.我可以使用XML形状对象不仅可以设置为背景,还可以设置具有x,y坐标和宽度,高度的视图对象?
编辑:我可以绘制矩形:
canvas.drawRect(x1, y1, x2, y2, paint);
Run Code Online (Sandbox Code Playgroud)
但我在XML中有矩形设置,如下所示:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- Specify a gradient for the background -->
<gradient
android:angle="90"
android:startColor="#55000066"
android:centerColor="#FFFFFF"
android:endColor="#55000066" />
<!-- Specify a dark blue border -->
<stroke
android:width="2dp"
android:color="#000066" />
<!-- Specify the margins that all content inside the drawable must adhere to -->
<padding
android:left="5dp"
android:right="5dp"
android:top="5dp"
android:bottom="5dp" />
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我想将此设置应用于我的矩形.怎么样?