如何以编程方式放大 GradientDrawable?

How to enlarge a GradientDrawable programmatically?

我得到了一个非常接近文本视图、代码和图像的矩形,如下所示...

private Drawable getShape(int iColor) {
    final int STROKE_WIDTH = 5;
    final float CORNER_RADIUS = 15.0f;

    GradientDrawable gd = new GradientDrawable();
    gd.setShape(GradientDrawable.RECTANGLE);
    gd.setColor(Color.TRANSPARENT);
    gd.setStroke(STROKE_WIDTH, iColor);
    gd.setCornerRadius(CORNER_RADIUS);

    return gd;
}

如何放大笔触使其看起来好看?

文本视图设置为 "wrap_content" 并使用形状设置背景。

您可以覆盖 getIntrinsicWidthgetIntrinsicHeight 方法。

 GradientDrawable gd = new GradientDrawable(){
            @Override
            public int getIntrinsicWidth() {
                return super.getIntrinsicWidth();
            }

            @Override
            public int getIntrinsicHeight() {
                return super.getIntrinsicHeight();
            }
        };