我正在尝试将可绘制背景添加到相对布局中。首先,我尝试使用
设置相对布局本身的背景relativeLayout.setBackgroundResource(R.drawable.myImage);
然后,我尝试使用以下代码创建图像视图并将其添加到我的相对布局中:
ImageView backgroundImage = new ImageView(view.getContext());
backgroundImage.setImageResource(myImage);
backgroundImage.setScaleType(ImageView.ScaleType.CENTER_CROP);
relativeLayout.addView(backgroundImage);
问题是..在两种情况下,它都会将我的relativeLayout扩展到backgroundImage的高度。
我要完成的工作是在添加所有子项之后将背景图像设置为相对布局的大小,以便在不存在背景图像的情况下不会拉伸和扩展超过相对布局高度全部。
我也尝试通过
public int getHeightOfView(View contentView) {
contentView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
return contentView.getMeasuredHeight();
}
public int getWidthOfView(View contentView) {
contentView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
return contentView.getMeasuredWidth();
}
int containerWidth = getWidthOfView(relativeLayout);
int containerHeight = getHeightOfView(relativeLayout);
对于最终结果,我希望以编程方式将背景可绘制的背景设置为相对布局,其参数不超过相对布局的高度和宽度,就好像没有背景一样(在视图中填充了其他所有背景之后儿童)。
填充的每个视图的高度和宽度都不确定。无论中心是否裁剪图像,我都需要保持宽高比,这无关紧要。