据说,在素材主题中,有两种类型的按钮:凸起和平面:
当我创建一个<Button>
时,它看起来像是&#34;已经提升了#34;按钮。如何,使用标记,我可以制作&#34;平面按钮&#34;。是否有任何风格或属性可以做到?我在主题编辑器中找到了这个图像。
答案 0 :(得分:61)
您可以使用style="?android:attr/borderlessButtonStyle
上的Button
,如下所示:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextGoesHere"
style="?android:attr/borderlessButtonStyle"
/>
没有明确边框的按钮样式,通常用于组。
您也可以使用Flat Buttons
答案 1 :(得分:8)
将依赖项添加到build.gradle
dependencies {
compile 'com.android.support:appcompat-v7:25.0.0'
}
然后在布局XML文件中,将一个样式属性添加到Button
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
style="@style/Widget.AppCompat.Button.Borderless"/>
通过定义自定义样式
,可以在按下按钮时更改颜色<style name="FlatButtonStyle" parent="Theme.AppCompat.Dark">
<item name="colorControlHighlight">@color/transparent</item>
</style>
并在布局XML中应用此样式
android:theme="@style/FlatButtonStyle"
答案 2 :(得分:2)
有了 Material Components Library ,现在可以轻松地在布局中添加 Flat Button 。 步骤如下:
将依存关系添加到应用模块的build.gradle
dependencies {
implementation 'com.google.android.material:material:1.2.0-alpha04'
}
注意:在https://mvnrepository.com/artifact/com.google.android.material/material
上找到最新的版本号
然后将具有以下样式的MaterialButton添加到XML布局
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
就是这样。样式属性及其值style="@style/Widget.MaterialComponents.Button.TextButton"
处理启用和禁用状态及其文本颜色。
最终结果: