Дело в том, что Android поддерживает самые разные устройства. Посмотрите, на каком устройстве Android Studio делает «предварительный просмотр». Предварительный просмотр - это то, что вы видите сверху в своем вопросе. Это может быть другое устройство, чем ваш эмулятор.
Кроме того, обратите внимание на эту строку: android:textSize="18sp"
. Вы используете SP в качестве измерения -> что означает независимый от шкалы PIXELS. Возьмите посмотрите здесь для получения дополнительной информации. Короче говоря, SP учитывает предпочтения размера текста пользователя. Это означает, что в настройках каждого телефона Android есть возможность изменить размер текста на маленький, средний, большой, очень большой и т. Д. Таким образом, тот, кто установит Large , получит текст, занимающий гораздо больше места, чем кто-то, кто выбрал маленький .
Решение
Это не просто решить, и я не знаю, чего вы пытаетесь достичь, но вы должны попробовать использовать:
ConstraintLayout
очень мощный, и вы должны больше в него вникнуть. Вы, вероятно, должны выровнять левый или правый края материала, который вы хотите выровнять, также установив ширину в 0, поскольку, когда он знает, где должны быть левый и правый края, ему не нужно иметь ширину.