【问题标题】:Drawable icons aren't displayed on Button按钮上不显示可绘制图标
【发布时间】:2019-10-16 15:15:30
【问题描述】:

每次我尝试向按钮添加一些可绘制图标时,即使它是按钮或材质按钮,它们也不会显示

   <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"
                  />



在左边我有“pin person”图标和“公文包”图标,但在布局上没有显示。你知道这可能是什么原因吗?

【问题讨论】:

  • 在 MaterialButton 中你必须使用 app:icon

标签: android android-button material-components material-components-android


【解决方案1】:

MaterialButton 使用 app:icon 属性和 app:iconGravity="start"

类似:

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

【讨论】:

  • 非常感谢
【解决方案2】:

drawableStart 对应于 drawable 将被绘制到视图的开始根据布局方向,但你的方向可能是坏的;你可以这样改变这个方向:

android:gravity="center_vertical|center_horizo​​ntal|left"

或者您可以通过编程方式添加它们:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-19
    • 2021-02-15
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多