Android创建一个"平面按钮"

时间:2015-11-10 00:31:30

标签: android android-layout button

据说,在素材主题中,有两种类型的按钮:凸起和平面:

Raised and Flat

当我创建一个<Button>时,它看起来像是&#34;已经提升了#34;按钮。如何,使用标记,我可以制作&#34;平面按钮&#34;。是否有任何风格或属性可以做到?我在主题编辑器中找到了这个图像。

3 个答案:

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

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"处理启用和禁用状态及其文本颜色。

最终结果:

enter image description here