鉴于:
此外:
每个活动在运行时会产生什么主题?主题是否取得了优势?它们是否相互结合或相互覆盖?
如果在清单文件中应用了T2,那么D会发生什么情况,然后T3以编程方式和布局文件应用T4?
使用各种方式组合以什么顺序应用样式?
答案 0 :(得分:1)
T1在清单文件中应用于应用程序。
这适用于整个应用程序,你得到你扩展的主题和你在那里覆盖的任何东西。例如,应用程序范围的工具栏颜色是常见的颜色。
T2应用于清单文件
中的A.
您已为此一个Activity创建了一个新的主题依赖关系链,除非您使用与该应用主题相同的父级,否则它将具有独立的属性,例如不同的工具栏颜色。
您仍然会维护应用程序设置,例如隐藏的系统UI /全屏主题。
T3以编程方式应用于onCreate()
中的B.
这会覆盖该活动清单中设置的任何内容,并且不应与T2不同
T4应用于C&#39的布局文件的根元素。
这只会影响一个视图。例如,如果应用程序或活动使用全屏主题,那么仍然会应用该主题,但您还可以对此视图进行样式化。
例如,根视图可以只是一个TextView。它不必是RelativeLayout,FrameLayout,CoordinatorLayout等。
您通常不会将应用程序/活动级别样式应用于这些单独的视图。我也不认为这些属性会在源代码中得到应用
注意:styles.xml
和themes.xml
您可以阅读有关在Styles and Themes
定义父属性的更多信息