Почему текст MaterialButton не содержит пробела? - PullRequest
1 голос
/ 09 октября 2019

См .:

enter image description here

Код:

<RelativeLayout
            android:id="@+id/circle_card_payment"
            android:layout_width="40dp"
            android:layout_height="40dp">

            <com.google.android.material.button.MaterialButton
                android:id="@+id/logo"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:backgroundTint="@color/colorBlack"
                android:insetLeft="0dp"
                android:insetTop="0dp"
                android:insetRight="0dp"
                android:insetBottom="0dp"
                android:text="W"
                android:textColor="#FFFFFF"
                android:textSize="16sp"
                app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay_ButtonCircle50"
                app:strokeWidth="0dp" />

        </RelativeLayout>

style.xml

 <style name="ShapeAppearanceOverlay_ButtonCircle50">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">20dp</item>
    </style>

ДляПодтверждением того, что кнопка материала содержит полный пробел, я присвоил цвет кнопки материала черному цвету. а внутри цвет текста белый.

Кто-нибудь может дать мне точное решение в соответствии с моей ситуацией? Обратите внимание, что вы не должны увеличивать относительный размер макета с 40 до 50 dp, я знаю, что это может решить проблему, но размер логотипа будет больше, и это не подходит.

Обратите внимание, мне нужно обернуть эту кнопку в любой корневой макет. Это обязательно. Как и сейчас, моя кнопка материала находится внутри Относительного макета.

1 Ответ

3 голосов
/ 09 октября 2019

Почему текст MaterialButton не содержит пробела?

Проблема с кнопкой материала, поскольку по умолчанию кнопки материала имеют отступы. Вы можете удалить или переопределить этот отступ, установив атрибут padding в самом xml, это должно решить проблему.

просто добавьте android: padding = "0dp", чтобы решить эту проблему. или как Ricardo.A предложить в комментарии набор в стиле <item name="android:padding">0dp</item>

<RelativeLayout
        android:id="@+id/circle_card_payment"
        android:layout_width="40dp"
        android:layout_height="40dp">

        <com.google.android.material.button.MaterialButton
            android:id="@+id/logo"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:backgroundTint="#323232"
            android:insetLeft="0dp"
            android:insetTop="0dp"
            android:insetRight="0dp"
            android:padding="0dp"
            android:insetBottom="0dp"
            android:text="W"
            android:textColor="#FFFFFF"
            android:textSize="16sp"
            app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay_ButtonCircle50"
            app:strokeWidth="0dp" />

    </RelativeLayout>

Результат с заполнением по умолчанию.

enter image description here

и результат с переопределением заполнения до 0dp enter image description here

Надеюсь, это поможет, Счастливое кодирование! !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...