1

我正在使用打击代码,但不明白我应该在 setLayerInset 中设置什么参数。根据我的实验,我使用打击参数来设置可绘制对象并在此可绘制对象上绘制边框。问题是我现在面临的问题是我的布局正在重新调整大小。我在水平线性布局中有视图。当我单击并在图像上设置边框时,当我选择第二个图像时,布局将重新调整大小。奇怪的是它只发生一次(布局重新调整大小)。

我在绘制边框时,视图大小减少了 1,所以这可能是布局重新调整大小的原因。但为什么这只发生一次。如何摆脱它。

是否有任何技巧或公式来获取我们可以在“setLayerInset”方法中设置的参数。使原始图像大小不会波动。

Rect dbounds = drble.getBounds();
    Drawable drawableRes = getResources().getDrawable(R.drawable.shape);
    ld.setBounds(dbounds);
    Drawable[] drawableLayers = { drble, drawableRes };
    ld = new LayerDrawable(drawableLayers);
    ld.setLayerInset(0, 0, 0, 0, 0);
    ld.setLayerInset(1, 0, 1, 0, 1);
        imgview.setBackground(ld);

在这段代码中,“drable”是我的“Drawable”对象,“drawableRes”是我在 xml 中设计的用于在所选视图上绘制边框的“形状”。

4

0 回答 0