По моему мнению, проблема, с которой вы сталкиваетесь, не является проблемой, это способ использования Android для разработки макетов.
Это означает, что вы можете установить высоту и ширину с 3 постоянными по умолчаниюзначения:
FILL_PARENT
Специальное значение для высоты или ширины, запрашиваемое View
.FILL_PARENT
означает, что представление хочет быть таким же большим, как и его родитель, за исключением заполнения родительского элемента, если таковой имеется.Это значение не рекомендуется, начиная с уровня API 8, и заменяется на MATCH_PARENT
.
MATCH_PARENT
Специальное значение для высоты или ширины, запрашиваемое View
.MATCH_PARENT
означает, что представление хочет быть таким же большим, как его родитель, минус отступы родителя, если таковые имеются.Введено в API уровня 8.
WRAP_CONTENT
Специальное значение для высоты или ширины, запрашиваемое View
.WRAP_CONTENT
означает, что View
хочет быть достаточно большим, чтобы вместить его собственное внутреннее содержимое, учитывая его собственные отступы.
Теперь, когда вы устанавливаете высоту / ширину View
до WRAP_CONTENT
, вы позволяете представлению принимать тот размер, который достаточен для отображения содержимого просмотра.Фоновое изображение также является содержимым View
, поэтому ваш просмотр будет отображаться с таким же размером, что и изображение.Это не проблема, вот как это показано.
Хорошо, но в вашей ситуации это проблема для вас, потому что у вас есть фон для отображения, и просмотр не должен быть растянут для этого.Я могу предложить несколько способов:
Первый и очень очевидный: создавайте изображения правильного размера и храните их в разных папках для рисования .
Укажите размер просмотра, не используя константы , но в DP .Если возникнет необходимость, создайте разные XML-файлы макетов для разных размеров и сохраните их в папках макетов .
Вы можете использовать очень полезную вещь для макета дизайна: макет вес .