Понимание списка для Android
Я не понимаю, как работают слои-списки. Я прочитал официальную документацию с некоторыми примерами, но это не работает для меня, как ожидалось. Я хочу четыре квадрата, которые должны быть дополнены 1dp, но ничего подобного не ожидается. Вот скриншот, увеличенный на 500%:
(Неправильные цвета не имеют значения)
Как вы видите, размер полностью неправильный, а прокладки отсутствуют. Я пытался установить реальные значения, такие как width / height и right / left / top / buttom, чтобы быть уверенным в том, что android получит то, что я хочу.
Вот мой xml:
- Хранение идентификаторов R.drawable в массиве XML
- Вертикальная линия с использованием XML-drawable
- Использование андроидных векторных ловушек при преломлении Lollipop
- Как загрузить изображение в синтаксический анализатор, используя parse api в android
- форма андроида с нижним ходом
Значения для левого, верхнего, правого и нижнего измеряются с их соответствующего края.
Итак, left = 0dp, top = 0dp, bottom = 0dp & right = 50dp даст вам прямоугольник, который равен (match_parent – 50dp), а не 50dp в ширину. Поэтому более высокие значения для «правого» фактически дадут вам меньший прямоугольник.
То же самое относится и к другому значению, но в большинстве случаев они будут вести себя так, как ожидалось, просто «правильные», которые могут вызвать путаницу.
Либо вы используете px
вместо dp
либо умножаете все размеры на 10
.
Мне стыдно признаться, что я точно не знаю, ПОЧЕМУ это происходит, но я предполагаю, что это имеет какое-то отношение к плотности, где 1dp
– значение с плавающей 1dp
а ImageView
масштабируется.
Ответ эксперта приветствуется 🙂