Android中的样式层次结构-重要性的顺序是什么?
我有一个android应用程序,我正在使用一个自定义主题,应用在主活动本身的android清单中。此活动将创建一个应用了样式的listview 如果我为该listview创建一个自定义布局,包括为行本身创建一个单独的xml文件,并将样式直接应用于这些布局,那么该样式是否会覆盖应用程序的整体样式?我试图掌握事件的层次结构,以及样式和主题是如何工作的 在我的示例中,我猜想它的工作方式是:为行应用样式,由行布局xml引用>为整体listview应用样式,由listview布局xml引用>从自定义主题应用样式,由android清单引用的样式xml引用Android中的样式层次结构-重要性的顺序是什么?,android,xml,user-interface,mobile,Android,Xml,User Interface,Mobile,我有一个android应用程序,我正在使用一个自定义主题,应用在主活动本身的android清单中。此活动将创建一个应用了样式的listview 如果我为该listview创建一个自定义布局,包括为行本身创建一个单独的xml文件,并将样式直接应用于这些布局,那么该样式是否会覆盖应用程序的整体样式?我试图掌握事件的层次结构,以及样式和主题是如何工作的 在我的示例中,我猜想它的工作方式是:为行应用样式,由行布局xml引用>为整体listview应用样式,由listview布局xml引用>从自定义主题应
我说得对吗?还是我处理得不对。(只是为了混淆起见,我的意思是“>”比“>”更重要)希望我能理解你的问题 您在styles.xml中定义的样式将始终覆盖来自android当前使用的主题的样式 但这仅适用于覆盖的属性 如果你保持一个属性不变,android将为它提供样式,有时这会咬你的屁股:) 这个系统最好这样描述: textview需要一个属性示例
<item name="android:textColor">#00FF00</item>
#00FF00
Android将首先查看原始布局。
如果没有找到,它将查看您的自定义样式。
如果没有找到,它将研究android风格
希望这能有所帮助。标准主题中有这样的行定义ListView样式:
<item name="listViewStyle">@android:style/Widget.ListView</item>
@android:style/Widget.ListView
在你自己的主题中,你可以做一个
<item name="listViewStyle">@style/MyOwnListView</item>
@style/MyOwnListView
ListView样式中未定义的内容(自有或默认)将是主题中定义的内容(如果您在主题中定义了该内容)。如果您在多个位置指定了相同的属性,下面的列表将确定最终应用哪些属性。列表按从最高优先级到最低优先级的顺序排列:
我想问同样的问题。在我最初的实验中,情况似乎相反,这非常奇怪。如果有人能确认,那就太好了。这可能会有帮助: