Итак, на данный момент у меня есть кнопка, которая выглядит как первое изображение выше. Как уменьшить отступ вокруг текста внутри самой кнопки (чтобы он больше походил на второе изображение)?
Ширина и высота макета задаются как:
android:layout_width="match_parent"
android:layout_height="wrap_content"
Форма нестандартного стиля имеет параметры "
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
Остальное - это просто атрибуты цвета и значения радиусов.
Чтобы было понятно, я хочу, чтобы рамка кнопки приближалась к тексту «Войти».
Любая помощь и отзывы приветствуются. Спасибо.
android:includeFontPadding="false"
Ответы:
Мне потребовалась целая вечность, чтобы найти это, но "отступы" вокруг текста на кнопке на самом деле вовсе не отступы. Стиль Widget.Button по умолчанию включает свойство minHeight. Изменение minHeight на кнопке позволит вам настроить отступы должным образом.
<Button android:id="@+id/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/test" android:textColor="@color/black" android:minHeight="40dip"/> <style name="Widget.Holo.Button" parent="Widget.Button"> <item name="android:background">@android:drawable/btn_default_holo_dark</item> <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> <item name="android:textColor">@android:color/primary_text_holo_dark</item> <item name="android:minHeight">48dip</item> <item name="android:minWidth">64dip</item> </style>
источник
В Библиотеке компонентов материала для
MaterialButton
него используется стиль по умолчанию со значениемinsetBottom
иinsetTop
значением6dp
.Вы можете изменить их в макете:
<com.google.android.material.button.MaterialButton android:insetTop="0dp" android:insetBottom="0dp" ../>
или в стиле:
<style name="Button_no_insets" parent="Widget.MaterialComponents.Button"..> <item name="android:insetTop">0dp</item> <item name="android:insetBottom">0dp</item> </style>
источник
попробуйте это в своем собственном файле shape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="1dp" android:padding="1dp">
также вы можете внести изменения в xml вашей кнопки
android:layout_width="wrap_content" android:layout_height="wrap_content"
источник
Если вы хотите уменьшить верхний и нижний отступы, используйте это:
android:paddingTop="2dp" android:paddingBottom="2dp"
источник
android:padding
илиandroid:layout_margin"
в родительских представлениях<shape />
.Вы можете использовать стиль без границ в AppCompatButton, как показано ниже. Также используйте желаемый цвет фона.
Код кнопки
<androidx.appcompat.widget.AppCompatButton android:id="@+id/button_visa_next" android:background="@color/colorPrimary" style="@style/Widget.AppCompat.Button.Borderless.Colored" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" android:text="@string/next" android:textColor="@color/white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" />
Выход:
источник