Рисованные значки не отображаются на кнопке - PullRequest
1 голос
/ 16 октября 2019

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

   <Button
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center"
                    android:text="Person"
                  android:drawableStart="@drawable/ic_person_pin_circle_black_24dp"
                  />
              <Button
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center"
                  android:text="Package"
                  android:layout_marginStart="10dp"
                  android:drawableStart="@drawable/ic_business_center_black_24dp"
                  />



Слева у меня есть значок "контактный человек" и "«Портфель», но на макете не отображаются. Вы знаете, что может вызвать это?

Ответы [ 2 ]

1 голос
/ 16 октября 2019

С MaterialButton используйте атрибут app:icon и app:iconGravity="start".

Что-то вроде:

  <com.google.android.material.button.MaterialButton
        style="@style/Widget.MaterialComponents.Button.Icon"
        app:icon="@drawable/..."
        app:iconGravity="start"
        ../>

enter image description here

0 голосов
/ 16 октября 2019

drawableStart соответствует рисованию , которое будет отображаться в начале представления в соответствии с направлением макета , но ваше направление может быть плохим;вы можете изменить это направление следующим образом:

android: gravity = "center_vertical | center_hor Horizontal | Left"

или вы можете добавить их программно:

myButton.setCompoundDrawablesRelativeWithIntrinsicBounds(
    ContextCompat.getDrawable(this, R.drawable.ic_business_center_black_24dp), null, null, null);
...