android - 为未确定的布局大小添加相对布局背景可绘制 - 中心裁剪
问题描述
我正在尝试将可绘制的背景添加到相对布局中。起初,我尝试使用设置相对布局本身的背景
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);
对于最终结果,我希望以编程方式将可绘制的背景设置为相对布局,其参数不超过相对布局的高度和宽度,就好像没有背景一样(在视图填充了所有其他子项之后)。
填充的每个视图都有未确定的高度和宽度。无论它是否居中裁剪图像,我都需要保持纵横比,这无关紧要。
解决方案
推荐阅读
- typescript - Visual Studio Code 自动完成显示了很多选项
- python - 为什么 Tensorflow 转置在某种情况下会失败?
- react-native - 是否可以规模化
随着缩放的增加和减少? - python - 类型提示中的可选联合
- java - 在Java中使用正则表达式查找非数字的索引
- docker - 以桥接模式部署 Mesos docker 容器,但端口固定且超出预定义范围
- perl - Perl - tan 的未定义子例程
- javascript - 将附加参数传递给事件回调函数
- android - 如何在恒定间隔的约束布局中居中两个文本视图?
- python - 我可以从 Excel 文件中修改特定工作表并写回相同的工作表而不使用 Pandas 修改其他工作表吗?打开pyxl