在为活动Theme.MaterialComponents....
使用主题时,如果我想通过按钮使用drawableLeft/Right
等,则不会显示它们。但是,如果我使用主题Base.Theme.AppCompat
,它们将按预期工作。
这是按钮:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Test Button"
android:drawableLeft="@drawable/ic_envelope"/>
这是主题Base.Theme.MaterialComponents
的外观
如何使drawableLeft
与Base.Theme.MaterialComponents
主题兼容?
答案 0 :(得分:2)
只需将MaterialButton
与 app:icon
属性一起使用:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.OutlinedButton.Icon"
app:icon="@drawable/ic_add_24px"
../>
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/ic_add_24px"
../>
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.TextButton.Icon"
app:icon="@drawable/ic_add_24px"
../>
使用 app:iconGravity
来配置start|end|textStart|textEnd
。
<com.google.android.material.button.MaterialButton
app:iconGravity="end"
../>