材质按钮上的圆角

我正在按照这样的问题提示来创建像Material Design上建议的按钮样式。

按键

但是,我需要通过inheritanceWidget.AppCompat.Button.Colored样式并设置radius参数来更改角半径并且无法这样做。

我怎么能有相同的风格,但有圆角?

你需要inheritance那种风格。

添加到styles.xml中:

   

添加文件drawable / rounded_shape.xml:

       

最后在你的布局中:

   

编辑:更新的答案使用主题的颜色而不是硬编码的颜色。

使用新的Support Library 28.0.0-alpha1版本 ,Design Library现在包含Material Button

您可以将此按钮添加到我们的布局文件中:

  

您可以使用以下属性设置角半径

  • app:cornerRadius :用于定义用于按钮角落的半径

在此处输入图像描述

目前要使用它,您必须使用Android Studio 3.1或更高版本,并且:

 android { compileSdkVersion 'android-P' defaultConfig { targetSdkVersion 'P' } ... } dependencies { implementation 'com.android.support:design:28.0.0-alpha1' } 

您还可以使用Android的新材料组件 。
在这种情况下,您可以在布局文件中使用:

  

目前您必须使用Android Studio 3.2和:

 android { compileSdkVersion 'android-P' defaultConfig { targetSdkVersion 'P' } ... } dependencies { implementation 'com.google.android.material:material:1.0.0-alpha1' } 

官方文档在这里和所有Android规范在这里 。

我会告诉你我的确切解决方案。 在选择器标签内,您可以放置​​项目(按钮的function)

选择器标记的第二项具有相反的行为。 你可以添加选择器(按钮行为)添加这个可绘制的XML作为按钮的背景android:background =“@ drawable / this xml”

                                              

另外一个简单的方法是将它包装在cardView周围,记住将cardView的layout_width和layout_height设置为wrap_content,按钮所需的所有必需边距应该应用于cardView