android:background - “?attr / actionBarItemBackground”..它是如何工作的?

时间:2012-11-28 05:41:31

标签: android-widget actionbarsherlock

我已经看到了两种为Android App屏幕设置背景的方法。

案例A :: android:background =“?attr / actionBarItemBackground”

案例B :: android:background =“@ drawable / ic_launcher_settings”

如何在案例A中使用android:后台功能?我搜索了代码,但无法确定“actionBarItemBackground”存在的位置。我理解案例B

1 个答案:

答案 0 :(得分:2)

案例A是对样式属性的引用。它允许您在不知道其实际价值的情况下引用特定的样式信息。有很多Android定义的属性用于设置Android UI的样式,但您也可以定义自己的属性。

actionBarItemBackground就是这样一个属性。有两种方法可以使用此属性:

  1. 您可以引用它以使UI元素的外观与操作栏项一致:

    <com.mycompany.MyView
        android:id="@+id/myView"
        android:background="?attr/actionBarItemBackground"/>
    
  2. 您可以定义主题并设置此属性的值以覆盖您应用的默认L&amp; F:

    <style name="MyTheme" parent="@android:style/Theme">
        <item name="android:actionBarItemBackground">#383c44</item>
    </style>
    
  3. 以下是Android文档的一些指示:

    对于样式,主题见:
    http://developer.android.com/guide/topics/ui/themes.html

    有关所有属性的列表,请参阅:
    http://developer.android.com/reference/android/R.attr.html

    为了定义自己的属性,没有文档。查看SDK中的attrs.xml个文件之一(例如,在platforms\android-17\data\res\values下),了解如何声明样式属性。您可以通过在attrs.xml文件夹中放置res\values文件以相同的方式声明属性。然后,您可以在自己的样式和主题中使用这些属性。