Существует длинный разрыв между левым рисунком и текстом в текстовом представлении.
Я добавил отступы с возможностью рисования, но это, похоже, не работает. Вот мой код:
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width = "match_parent"
android:layout_height = "24dp"
android:background = "#0B6159"
android:layout_marginTop = "2dp"
android:layout_marginBottom = "2dp"
android:layout_marginStart = "32dp"
android:layout_marginLeft = "32dp"
android:layout_marginEnd = "32dp"
android:layout_marginRight = "16dp"
android:text = "Add Address"
android:textSize = "20sp"
android:textColor = "#FFFFFF"
android:fontFamily = "@font/aladin"
android:gravity = "center"
android:drawableLeft = "@drawable/ic_add_circle_outline_black_24dp"
android:drawableStart = "@drawable/ic_add_circle_outline_black_24dp"
android:drawablePadding = "10dp"
/>
</LinearLayout>
Как я могу приблизить рисование к моему тексту
Да и все в центре
Как предлагает ответ Ришава Сингла, удалите гравитацию = центр
Удалить android:gravity = "center" из текстового представления:
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width = "match_parent"
android:layout_height = "24dp"
android:background = "#0B6159"
android:layout_marginTop = "2dp"
android:layout_marginBottom = "2dp"
android:layout_marginStart = "32dp"
android:layout_marginLeft = "32dp"
android:layout_marginEnd = "32dp"
android:layout_marginRight = "16dp"
android:text = "Add Address"
android:textSize = "20sp"
android:textColor = "#FFFFFF"
android:fontFamily = "@font/aladin"
android:drawableLeft = "@drawable/ic_add_circle_outline_black_24dp"
android:drawableStart = "@drawable/ic_add_circle_outline_black_24dp"
android:drawablePadding = "10dp"
/>
</LinearLayout>
Используйте DrawablePadding для поддержания разрыва в соответствии с вашими потребностями.
Это кажется хорошей идеей. Но в этом случае не будет ли положение текста и рисунков меняться в зависимости от размера экрана? Как сделать так, чтобы все было по центру?
Я проверил, удалив гравитацию и добавив drawablepadding. В этом случае кажется, что отступ только справа. Не слева
Измените ширину вашего текстового просмотра с родительского соответствия, чтобы обернуть содержимое, а затем используйте android:layout_gravity, чтобы установить все в центре.
Это работает, но цвет фона ограничивается оберткой. Но это похоже на незначительную проблему. Найдет обходной путь к этому
если вы хотите задать цвет фона, отдайте его родительскому макету в Linearlayout в вашем случае.
Благодаря Ришабу нашел обходной путь
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical"
android:background = "#0B6159">
<TextView
android:layout_width = "wrap_content"
android:layout_height = "24dp"
android:layout_marginTop = "2dp"
android:layout_marginBottom = "2dp"
android:layout_marginStart = "32dp"
android:layout_marginLeft = "32dp"
android:layout_gravity = "center_horizontal"
android:layout_marginEnd = "32dp"
android:layout_marginRight = "16dp"
android:text = "Add Address"
android:textSize = "20sp"
android:textColor = "#FFFFFF"
android:fontFamily = "@font/aladin"
android:drawableLeft = "@drawable/ic_add_circle_outline_black_24dp"
android:drawableStart = "@drawable/ic_add_circle_outline_black_24dp"
android:drawablePadding = "10dp"
/>
</LinearLayout>
Чувак, не нужно добавлять еще один дополнительный линейный макет для этого, скопируй и вставь код ниже: просто задай цвет фона своему родительскому макету android:background = "#0B6159" и установи android:layout_gravity = "center_horizontal" в текстовое представление с обтеканием по ширине
ваш комментарий правильный. Но у меня есть другие элементы в родительском макете. Так что не хотелось бы, чтобы они тоже меняли цвет. Поэтому добавил дополнительный слой
Вы хотите, чтобы «Добавить адрес» рядом с кнопкой «+»?