如果我需要按钮的小边框半径,为什么我们需要创建形状?

Why we need to create shapes if i need a little border radius for the buttons?

例如,在 CSS 中,我将使用 属性 border-radius: 10px。所以这个 属性 可以让我免于额外的开销。

我在网上搜索了一下,发现都在做android的形状。为什么在 android 中我们需要寻找形状(额外开销)来制作具有圆角等的按钮。为什么形状概念是在 android 中创建的。如果有 Button 那么也应该有 属性.

的边界半径类型

你不觉得 android 开发支持不完整吗?

这背后的故事是什么?提前致谢!!!

评论中的观点似乎部分回答了你的问题,但我只是想指出,你似乎并不是在比较苹果和苹果。 HTML 和 XML 是声明性语言,而 CSS 是一种风格 sheet 语言。

您可以使用 HTML 来制作按钮,但无法像您提到的那样为其设置样式和添加角。

从这个角度来看,为什么 XML 允许我们使用一般的形状和可绘制对象来设置按钮等组件的样式是有道理的。这可能不是真正的原因,但我的看法是 XML 试图涵盖 HTML 和 CSS 一起做的事情,而 "extra overhead" 就是 [=19] =] 会在网络开发中完成。

虽然很想听听其他意见。

If there is Button then there should also be the border radius kind of property.

还有!而且使用起来非常简单
只需将 MaterialButton in the official Material Components libraryapp:cornerRadius 属性一起使用即可。

类似于:

    <com.google.android.material.button.MaterialButton
        android:text="BUTTON"
        app:cornerRadius="8dp"
        ../>

您还可以在您的应用中全局使用此值,将此项目添加到您的主题中。

  <style name="AppTheme" parent="Theme.MaterialComponents.Light">
     ....
     <item name="materialButtonStyle">@style/myButtonStyle</item>
  </style>

  <style name="myButtonStyle" parent="Widget.MaterialComponents.Button">
    <item name="cornerRadius">8dp</item>
  </style>