将主题应用于活动/应用程序并将样式应用于视图时会发生什么?

时间:2015-04-14 06:41:12

标签: android android-layout android-theme android-styles

我是Android编程新手。我想知道,当您将主题应用于应用程序或活动时会发生什么:

<application
android:theme="@style/MyTheme"...

在活动内部,其中一个按钮有:

<Button
<style="@style/my_button_style"..

它会选择my_button_style中定义的样式还是主题中定义的样式?我试验过,但结果有点令人困惑。

1 个答案:

答案 0 :(得分:2)

这从一开始就为整个应用程序设置主题:

<application
android:theme="@style/MyTheme"...

但明确将style应用于xml中的任何元素都将覆盖清单中设置的应用theme,仅适用于您应用style的特定元素。 / p>

<Button
<style="@style/my_button_style"..

总而言之,它是最后一个赢得胜利的宣言,因为它就像

清单 - &gt;布局

然后

清单android:theme="theme" - &gt;查看元素style="@style/style"

所以最后你的style声明将覆盖theme,但仅限于它声明的元素。