我已经看到了两种为 Android 应用程序屏幕设置背景的方法。
案例 A:: android:background="?attr/actionBarItemBackground"
案例 B:: android:background="@drawable/ic_launcher_settings"
案例 A 中的 android:background 功能如何?我搜索了代码,但无法弄清楚“actionBarItemBackground”的存在位置。我理解案例B
我已经看到了两种为 Android 应用程序屏幕设置背景的方法。
案例 A:: android:background="?attr/actionBarItemBackground"
案例 B:: android:background="@drawable/ic_launcher_settings"
案例 A 中的 android:background 功能如何?我搜索了代码,但无法弄清楚“actionBarItemBackground”的存在位置。我理解案例B
案例 A 是对样式属性的引用。它允许您在不知道其实际值的情况下引用特定的样式信息。有很多 Android 定义的属性用于设置 Android UI 的样式,但您也可以定义自己的属性。
actionBarItemBackground
就是这样一个属性。有两种方法可以使用此属性:
您可以参考它以使 UI 元素的外观与操作栏项保持一致:
<com.mycompany.MyView
android:id="@+id/myView"
android:background="?attr/actionBarItemBackground"/>
您可以定义主题并设置此属性的值以覆盖您的应用程序的默认 L&F:
<style name="MyTheme" parent="@android:style/Theme">
<item name="android:actionBarItemBackground">#383c44</item>
</style>
以下是一些指向 Android 文档的指针:
有关样式和主题,请参见:http:
//developer.android.com/guide/topics/ui/themes.html。
有关所有属性的列表,请参见:http:
//developer.android.com/reference/android/R.attr.html
对于定义您自己的属性,没有文档。attrs.xml
查看SDK 中的一个文件(例如,在 下platforms\android-17\data\res\values
),了解样式属性是如何声明的。attrs.xml
您可以通过将文件放入文件夹中以相同的方式声明属性res\values
。然后,您可以在自己的样式和主题中使用这些属性。