从不同的布局尺寸中继承Android样式

3

是否可以从不同的布局大小继承Android样式?

例如,如果我在“values”目录(即/res/values/style.xml)中定义了一个名为MyLabel的样式,是否可以从另一个值目录(即/res/values-large-mdpi/style.xml)继承该标签?

我的目标是设置一堆控制应用程序布局的样式,但根据布局大小和屏幕密度更改字体大小。我想在一个文件中拥有大多数样式,然后只需在其他样式文件中设置字体大小。

1个回答

1

你需要在两个不同的文件中进行操作。如果你在values和values-large-mdpi中都有style.xml,系统会自动使用largi-mdpi中的那一个并忽略另一个。

如果你还有另一个文件,比如/res/values/styles-common.xml,在values-large-mdpi中没有对应的文件,系统会使用这个文件。

因此,将所有通用样式定义在common文件中,并从专门的样式中引用它们。


我创建了/res/values/style-common.xml文件,其中包含一个名为"MyStyle"的样式,包含高度、宽度和文本。然后我创建了/res/values-xlarge/style.xml文件,覆盖了文本属性。当我启动一个xlarge模拟器时,Activity崩溃了,因为MyStyle没有高度或宽度属性,这意味着它没有继承自style-common.xml文件。 - Kenny Wyland
你是否将“parent”设置为公共文件中的那个?你需要有两个单独的样式,一个在公共文件中,另一个在专用文件中,并将父级设置为公共文件中的那个。 - EboMike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接