我对材料设计的按钮样式感到困惑。我想要在附加链接中获得彩色凸起按钮,例如使用部分下的“强制停止”和“卸载”按钮。有可用的样式还是我需要定义它们?
我找不到默认的按钮样式。
例子:
<Button style="@style/PrimaryButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Calculate" android:id="@+id/button3" android:layout_below="@+id/editText5" android:layout_alignEnd="@+id/editText5" android:enabled="true" />
如果我尝试通过添加来更改按钮的背景颜色
android:background="@color/primary"
所有样式都消失了,例如触摸动画、阴影、圆角等。
您可以使用 材料组件库 。
将依赖项添加到您的build.gradle:
build.gradle
dependencies { implementation 鈥榗om.google.android.material:material:1.3.0鈥� }
然后将其添加 MaterialButton 到您的布局中:
MaterialButton
<com.google.android.material.button.MaterialButton style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name" app:strokeColor="@color/colorAccent" app:strokeWidth="6dp" app:layout_constraintStart_toStartOf="parent" app:shapeAppearance="@style/MyShapeAppearance" />
你可以在这里查看完整的文档和API。
要更改 背景颜色 ,您有 2 个选项。
backgroundTint
就像是:
<style name="MyButtonStyle" parent="Widget.MaterialComponents.Button"> <item name="backgroundTint">@color/button_selector</item> //.. </style>
materialThemeOverlay
<style name="MyButtonStyle" parent="Widget.MaterialComponents.Button"> <item name=“materialThemeOverlay”>@style/GreenButtonThemeOverlay</item> </style> <style name="GreenButtonThemeOverlay"> <!-- For filled buttons, your theme's colorPrimary provides the default background color of the component --> <item name="colorPrimary">@color/green</item> </style>
选项#2 至少需要 version 1.1.0。
1.1.0
您可以使用以下样式之一:
style="@style/Widget.MaterialComponents.Button
style="@style/Widget.MaterialComponents.Button.TextButton"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
旧支持库:
使用新的支持库 28.0.0,设计库现在包含MaterialButton.
您可以将此按钮添加到我们的布局文件中:
<android.support.design.button.MaterialButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="YOUR TEXT" android:textSize="18sp" app:icon="@drawable/ic_android_white_24dp" />
默认情况下,此类将使用主题的 强调色 作为按钮填充的背景颜色以及白色作为按钮文本颜色。
您可以使用以下属性自定义按钮:
app:rippleColor:’用于按钮波纹效果的颜色
app:rippleColor
app:backgroundTint:’sed 为按钮的背景应用色调。如果您希望更改按钮的背景颜色,请使用此属性而不是背景。
app:backgroundTint
app:strokeColor: 用于按钮描边的颜色
app:strokeColor
app:strokeWidth:’用于按钮笔划的宽度
app:strokeWidth
app:cornerRadius:’sed 定义用于按钮角的半径
app:cornerRadius