#android
#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);
Для конечного результата я хочу программно установить фоновый рисунок для относительного макета с параметрами, которые не превышают относительную высоту и ширину макетов, как если бы фона не было (после того, как представление будет заполнено всеми другими дочерними элементами).
Каждый заполненный вид имеет неопределенную высоту и ширину. Мне нужно поддерживать соотношение сторон независимо от того, обрезается ли изображение по центру, это не проблема.
Комментарии:
1. Каков размер вашего изображения?
2. @Athira это примерно 1 кб в квадрате.