Android GUI - 如何将通用样式应用于多个元素

Android GUI - How to apply a Common Style to Several Elements

作为 Android 开发的初学者,我目前正在创建一个计算器应用程序。

目的 我想创建一个适用于多个元素的特定样式,我们可以在 Web 开发中使用 CSS class 来完成。 样式将必须适用于计算器的九个数字按钮(1 到 9)。

为了避免重复相同的属性 9 次(每个“按钮”元素一次),我创建了一个“样式”块,其中放置了每个按钮的所有公共属性。

我已经在名为“styles.xml”的 XML 资源文件中添加了这个 <style>,这个文件的内容很好地被应用程序加载了,因为没有任何此文件中声明的属性“dimen”和“colors”存在问题。

代码如下:

<!-- Style of the calculator numerics buttons -->
<dimen name="calculatorNumberWidth">60dp</dimen>
<dimen name="calculatorNumberHeight">60dp</dimen>
<style name="calculatorNumberStyle" parent="TextAppearance.AppCompat">
    <item name="android:layout_width">90dp</item>
    <item name="android:layout_height">90dp</item>
    <item name="android:gravity">center</item>
    <item name="backgroundTint">#F1FAEE</item>
    <item name="android:textColor">#000000</item>
    <item name="android:textSize">36dp</item>
    <item name="layout_constraintBottom_toBottomOf">parent</item>
    <item name="layout_constraintRight_toRightOf">parent</item>
    <item name="layout_constraintTop_toTopOf">parent</item>
</style>

我的问题:

我无法应用此样式。我尝试了两种不起作用的方法:

  1. 通过在每个按钮的“Button”标签中添加属性android:style="@style/calculatorNumberStyle"。 在这种情况下,编译器会停止构建并引发此错误:AAPT: error: attribute android:style not found

  2. 通过在每个按钮的“Button”标签中添加属性android:theme="@style/calculatorNumberStyle"。 在这种情况下,应用程序编译良好但未应用样式。

我试图找到我的方法来抛出这个文档:https://developer.android.com/guide/topics/ui/look-and-feel/themes,但没有成功。

有人知道哪种方法好吗?

SDK平台版本:11.0,AndroidStudio版本:4.1

提前致谢,祝大家愉快,

米凯尔

尝试在没有 android 指令的情况下使用 style

 style="@style/calculatorNumberStyle"