当前位置: 首页 > 知识库问答 >
问题:

Android材质设计按钮样式

薄瑞
2023-03-14

我对材料设计的纽扣样式感到困惑。我想要得到彩色凸起的按钮,像在附加的链接。,像“强制停止”和“卸载”按钮下看到的用法部分。是否有可用的样式或我需要定义它们?

http://www.google.com/design/spec/components/buttons.html#按钮-用法

我找不到默认按钮样式。

示例:

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

所有的样式都消失了,如触摸动画,阴影,圆角等。

共有1个答案

夏侯兴学
2023-03-14

我将添加我的答案,因为我没有使用任何其他提供的答案。

在Support LibraryV7中,所有样式实际上都已经定义并可以使用,对于标准按钮,所有这些样式都是可用的:

style="@style/Widget.AppCompat.Button"
style="@style/Widget.AppCompat.Button.Colored"
style="@style/Widget.AppCompat.Button.Borderless"
style="@style/Widget.AppCompat.Button.Borderless.Colored"

因此,要回答这个问题,要使用的样式是

<Button style="@style/Widget.AppCompat.Button.Colored"
.......
.......
.......
android:text="Button"/>

对于整个应用程序

所有UI控件(不仅是按钮,还包括浮动操作按钮、复选框等)的颜色都由属性coloraccent管理,如下文所述。您可以修改此样式并在主题定义中应用您自己的颜色:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="colorAccent">@color/Orange</item>
</style>

对于特定按钮:

如果需要更改特定按钮的样式,可以定义一个新样式,继承上面描述的父样式之一。在下面的示例中,我只是更改了背景和字体颜色:

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
    <item name="colorButtonNormal">@color/Red</item>
    <item name="android:textColor">@color/White</item>
</style>

然后您只需要在按钮上应用这个新样式:

android:theme="@style/AppTheme.Button"

要在布局中设置默认按钮设计,请将这一行添加到styles.xml主题中:

<item name="buttonStyle">@style/btn</item>

其中@style/btn是您的按钮主题。这将为具有特定主题的布局中的所有按钮设置按钮样式

 类似资料:
  • 如何实现谷歌材料设计指南中描述的“凸起按钮”和“扁平按钮”? 凸起的按钮为大多数平面布局增加了维度。他们强调 在工具栏和对话框中使用平面按钮,以避免过度分层。 资料来源:http://www.google.com/design/spec/components/buttons.html

  • 尝试为密码显示/隐藏功能创建角度指令。“显示/隐藏”可以工作,但是当尝试使用材质设计(mat)按钮时,它不会显示mat按钮,而是显示默认的html按钮。在我的指令中 在应用程序中。组成部分html我确实有一些按钮作为测试,所以我知道mat正在工作。 我的问题是使用一个使用innerHTML的指令如何让材质设计按钮工作? 谢谢

  • 我是Android材料设计概念的新手。我创建了一个新项目并添加了带有AppCompat支持的前Lollipop版本的材料主题,但我的问题是,在Lollipop中它显示了ActionBar又名工具栏,但如果我在Lollipop前运行相同的,它不会显示ActionBar。 我是否只需要在我的布局中的任何地方使用工具栏控件,而不管API版本如何? 编辑:

  • 那么,有人将如何实现android L中显示的圆形按钮呢?还有什么是循环按钮的技术名称,XML代码将被赞赏。

  • 有没有办法在Eclipse中创建具有材质设计的应用程序?汉堡到箭头动画,全屏高度导航抽屉。。。