我正在研究一个关于支持库和工具栏的示例,这是Android文档中布局的代码
thread.sleep(10)
这是我第一次看到这些<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
,我不知道它们的含义或存储这些值的位置。这些是自定义还是在Android框架上预定义的?
答案 0 :(得分:19)
?attr/
对属性的引用。属性是应用主题中指定的值。示例中的这些特定属性是支持库提供的主题中指定的所有值。 Android也有自己的属性,?android:attr/
可以使用它们。
对于某些情况,最好使用属性值而不是直接使用值,因为它允许轻松自定义。例如,当您创建自定义视图时,可以使用?attr/colorAccent
,以便视图的用户不必提供颜色,并且它将使用应用中使用的colorAccent
而不是主题。
答案 1 :(得分:5)