我正在使用打击代码,但不明白我应该在 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 中设计的用于在所选视图上绘制边框的“形状”。